목록JPA (2)
forDevLife
이번 과제에서 위와 같은 이슈 조회를 위한 한 방 쿼리 작성을 시도했다. 특이사항으로는 label이 여러 개가 붙을 수 있다는 점이다. 아래에서 파란색은 조인된 관계를 의미하며, 빨간색은 DTO에 매핑될 컬럼을 의미한다. Issue와의 관계를 분석하면 다음과 같다. Issue : user = N : 1 Issue : milestone = N : 1 Issue와 label은 N:M(다대다) 관계이기 때문에 중간에 attached_label 테이블을 통해 관계를 1:N, N:1로 풀었다. Issue : attached_label = 1 : N attached_label : label = N : 1 한 방 쿼리를 위해서는 N : 1, 1 : N 관계 모두 FetchJoin을 통해 한 번에 가져올 수 있다. 하..
사용 Entity가 아닌 단순한 형태의 객체 집합을 정의하고 관리하는 방법이다. One to Many 관계를 다룬다. @Embeddable 객체와 관계를 정의하여 사용할 수 있다.(아래 예시) @Entity를 대상으로는 사용 불가능하다. 해당 데이터는 부모와 함께 저장되고 삭제된다. 아래의 경우, OrderOption은 OrderOptionGroup과 항상 함께 관리된다는 의미이다. @Entity @Table(name="ORDER_OPTION_GROUPS") @Getter public class OrderOptionGroup { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name="ORD..