@Entity@NoArgsConstructor(access = AccessLevel.PROTECTED)public class Study { // ... @OneToMany( mappedBy = "study", cascade = {CascadeType.PERSIST, CascadeType.REMOVE}, orphanRemoval = true ) private List images = new ArrayList(); // ... }위처럼 Study 엔티티에 선언되어 있었는데, List를 Images로 묶고 싶어졌다. 이때 Images는 List를 갖는 일급 컬렉션이다. 근데 엔티티 안에 일급 컬렉션을 넣는 경우는 처음이라 어떻게 해야 할지..
처음에 두 어노테이션을 구글에 검색했는데, 대부분 식별자와 공유에 대한 얘기만 있었다. 먼저 테이블 클래스 내 필드는 연결이 되어야 하는데 값 타입 필드는 공유가 되지 않는다고 한다. 그리고 식별자가 따로 없어 추적할 수 없다고 한다. 음... 뭔가 엔티티 타입과 값 타입의 차이점일 뿐, 임베디드 타입과 두 어노테이션에 대한 궁금증은 해소되지 않았다. 나는 좀 더 직관적인 필요성을 알고 싶었다. 그렇게 해서 찾은 것이 "객체지향"이었다. 데이터베이스 테이블 역시 객체지향으로 귀결하는 것이었다. 회원 엔티티는 식별자, 이름, 도시, 번지, 우편번호를 가진다. 코드를 보자면 두 가지 생각이 들어야 한다. 1. 회원 테이블이 식별자를 가지고 있다. 엔티티 타입이네? 2. 관심사가 겹치는 특정 필드가 너무 많다..