작성
·
257
0
1. MailMan이라는 Entity를 만들었습니다.
package hellojpa;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
@Entity
public class MailMan {
@Id @GeneratedValue
private Long id;
}
2. Address에서 해당 Entity를 사용해보기로 했습니다.
package hellojpa;
import javax.persistence.*;
@Embeddable // 임베디드 타입, 해당 타입을 쓰는 엔티티의 DB 테이블에는 Address 로 들어가는 게 아닌, 각자의 필드가 스키마로 들어가게 된다. 임베디드 타입은 엔티티의 값일 뿐이다!
public class Address {
private String city;
private String street;
@Column(name = "ZIPCODE")
private String zipcode;
@OneToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "MY_MAILMAN_PK", insertable = false, updatable = false)
private MailMan mailMan; // 임베디드 타입에서 엔티티 타입을 들고 있을 수 있다! 근데 안되네..?
public Address() {
}
...이하 생략
3. insertable = false, updatable = false 를 해제하면 코드가 돌지 않습니다.
4. 해당 설정을 제외하고서도 돌릴 수 있는 방법이 있을 것 같은데, 제가 어떠한 부분을 빼먹은건지 알 수 있을까요?
답변 감사합니다. 따로 프로젝트를 생성하여 코드를 돌려보니 정상적으로 돌아가네요.. 아무래도 Member 엔티티에서 Address 관련 이것저것 테스트해보다가 어디선가 충돌이 났던 것으로 보입니다. 하지만 당시 문제점을 찾지 못 한 제 불찰이기도 합니다.. 앞으로 더 열심히 공부하고 노력하도록 하겠습니다!