공부/JPA

공부/JPA

연관 관계 편의 메서드는 써야겠고, Setter는 쓰기 싫어요

학습 과정에서 작성한 글로, 잘못된 내용이 있을 수 있습니다! 피드백은 언제나 감사히 받겠습니다 🙇 연관 관계 편의 메서드가 필요한 이유 JPA를 공부하면서, 연관 관계 편의 메서드를 정의해 사용하는 것이 중요하다는 것을 배웠다. 좀 더 설명해보자면, 다대일 / 일대다 관계를 양방향 매핑하여 사용할 때에는 양 쪽 객체의 연관 관계 상태를 모두 신경써주어야 한다. 연관 관계의 주인이 아닌 쪽은 DB 반영과는 관계가 없다. 하지만 그럼에도 이게 중요한 이유는 ORM을 사용하는 만큼, 신뢰성 있게 객체 상태를 유지하고 객체 그래프 탐색을 가능하게 하기 위함이다. 그런데 이 때 각 객체에서 관계를 설정해주기보다는, 하나의 메서드에서 둘을 동시에 설정해주는 것이 안전하다. 이런 메서드를 연관 관계 편의 메서드 라..

공부/JPA

JPA 기본키 생성 전략과 선택 기준

JPA 엔티티 매핑 중 @Id로 기본 키 매핑을 할 때, 해당 값을 넣어주는 방식으로 여러 가지 선택지가 있다. @Id만 사용하고 다른 설정을 해주지 않으면, 기본 키 값을 직접 할당해야 한다. 하지만 정말 불편할 것이다. 따라서 아래와 같이, @GeneratedValue 어노테이션을 통해 기본키 값을 자동 생성할 수 있다. @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; 이러한 자동 생성 전략으로도 여러 가지가 있는데, 이 중 무엇을 사용할지 정확히 알고 있지 않다는 것을 깨달아서 정리해보려고 한다. 아래와 같이 하나의 트랜잭션 단위를 가지는 테스트 코드를 실행하여 User 엔티티를 저장할 때, 각 전략에 따라 어떤 일이..

d02
'공부/JPA' 카테고리의 글 목록