단방향, 양방향 연관관계 매핑
·
💻 Dev/JPA
이때까지 나도 테이블에서 외래키로 관리된 연관관계를 객체로 만들면 그 외래키를 VO에 만들어 쓰곤 했다..내가 n년 동안 해왔던 게 사실은 객체지향적인 방법이 아니었다는 걸 알게 되었다. JPA를 배우면 배울수록 이제야 알게 됐다는 게 아쉬울 뿐이다.  단방향 연관관계테이블 구조는 그대로고, Member에 teamId가 아닌 Team 객체 자체로 연관관계를 설정한다.(여러 명의 멤버가 한 팀에 소속될 수 있기 때문에 @ManyToOne이다.)@Entitypublic class Member { @Id @GeneratedValue private Long id; @Column(name = "USERNAME") private String name; private int age..
연관관계가 필요한 이유
·
💻 Dev/JPA
'연관관계 매핑' 섹션에서는 JPA를 공부하면서 다대일(ManyToOne), 일대다(OneToMany) 이런 단어들을 계속 듣게 될 텐데, 이 부분의 기초적인 내용과 JPA에서 연관관계란 어떤 건지 배울 수 있었다.  연관관계가 필요한 이유먼저 학습을 위해 필요한 용어에는 3가지가 있다.방향(Direction): 단방향, 양방향다중성(Multiplicity): 다대일(N:1), 일대다(1:N), 일대일(1:1), 다대다(N:M)연관관계의 주인(Owner): 객체 양방향 연관관계를 관리하는 주인이 필요여기서 다중성도 중요하지만 연관관계의 주인이 꽤나 중요한 개념이다. 나도 포스팅하면서 다시 복기해야겠다.. 예제 시나리오회원과 팀이 있다.회원은 하나의 팀에만 소속될 수 있다.회원과 팀은 다대일 관계다.먼저 ..
엔티티 매핑
·
💻 Dev/JPA
JPA로 객체를 관리할 때 주로 쓰는 어노테이션을 배운 섹션이었다.  객체와 테이블 매핑@Entity•  @Entity가 붙은 클래스는 JPA가 관리, 엔티티라 한다.•  J•PA를 사용해서 테이블과 매핑할 클래스는 @Entity를 필수로 붙여줘야 한다. @Table•  엔티티와 매핑할 테이블 지정•  예약어라 다른 테이블명과 매치해 줄 때 사용 ex) order  필드와 컬럼 매핑@Table(name="members")@Entitypublic class Member { @Id private Long id; @Column(name = "name") private String username; private Integer age; @Enumerated(EnumType.STR..
영속성 컨텍스트
·
💻 Dev/JPA
우선 내가 지금까지 JPA 기본편과 활용편을 수강하면서 중요하다고 생각한 개념에는 4가지가 있다. 1. 영속성 컨텍스트2. 연관관계 매핑3. 프록시 개념4. 즉시 로딩과 지연 로딩 이 4가지는 꼭 개념 정리를 확실히 해서 기록해보고자 한다. 영속성 컨텍스트"엔티티를 영구 저장하는 환경"이라는 뜻엔티티 매니저? 영속성 컨텍스트?고객이 요청을 할 때마다 EntityManagerFactory가 엔티티매니저를 생성하고 커넥션을 사용해서 DB를 사용하게 된다. • 영속성 컨텍스트는 논리적인 개념이다.• 엔티티 매니저를 통해서 영속성 컨텍스트에 접근한다.• 엔티티 매니저를 통해 엔티티를 저장하거나 조회하면 엔티티 매니저는 영속성 컨텍스트에 엔티티를 보관하고 관리한다.  엔티티의 생명주기비영속 (new/transie..
자바 ORM 표준 JPA 프로그래밍 - 기본편 회고
·
📝 끄적끄적/후기 및 회고
완강한 지는 좀 됐지만 늦게나마 회고를 작성해보고자 한다.  수강한 이유우선 현 직장에서 물론 많은 성장을 한 것은 사실이다.하지만 1년? 혹은 1년 반 이후로 개인 공부를 하지 않는 이상 성장하기 힘들다는 생각을 했다. MSA, JPA, TDD, CI/CD, Kafka, REACT.. 등등 핫한 신기술은 계속 들려온다.많은 SI회사는 신기술 도입에 보수적이기 때문에 실무에 적용하긴 힘들다.그럼 신기술에 대한 갈증을 해소할 수 있는 방법은 개인 공부밖에 없다.학교 선배에게 김영한 님 JPA 활용편1 강의가 좋다는 걸 자주 들었기에 고민 없이 이 강의로 정했다.  사내 스터디를 만들다. 난 혼공도 좋지만 여러 명이 해야 으쌰으쌰 하면서 놓친 개념도 캐치하고, 같이 성장하는 느낌이 좋다.마침 회사에서 사내 ..
[CentOS 7] 아파치 시작 에러, Job for httpd.service failed because the control process exited with error code.
·
🛠 DevOps & Tool/Linux
에러# service httpd startRedirecting to /bin/systemctl start httpd.serviceJob for httpd.service failed because the control process exited with error code.See "systemctl status httpd.service" and "journalctl -xe" for details. Apache와 Wildfly 연동 과정 중에 tomcat connector 세팅을 마치고 아파치 재시작을 하는 과정에서 에러가 났다.더보기2022.06.28 - [공부/Linux] - [CentOS 7] mod_jk를 이용한 Apache-Wildfly 연동 [CentOS 7] mod_jk를 이용한 Apache-W..