2016-06-07 3 views
0

저는 House와 Cottage라는 두 개의 테이블이있는 데이터베이스를 가지고 있습니다. 각 테이블에는 primairy 키가 들어있는 ID 열이 있습니다. Cottage 테이블에는 House 레코드에 대한 외래 키가 들어있는 "HouseID"열이 있습니다.JPA - id 컬럼이없는 엔티티를 포함합니다.

이제 House 내 엔티티 클래스에서 Cottage 개체를 포함해야합니다.

House 엔티티 클래스의 Cottage 객체에 정보를 포함하려면 어떻게 주석을 추가해야합니까? Cottage 엔티티 클래스에 주석을 추가해야합니까?

이 정도면 충분합니까?

@OneToOne(fetch = FetchType.EAGER) 
private Cottage cottage; 

House 테이블에 Cottage 테이블에 대한 외래 키가 없습니다.

@OneToOne(fetch = FetchType.EAGER) 
@JoinColumn(name = "HOUSE_ID") 
private Cottage cottage; 

"HOUSE_ID"는 DB 컬럼이 아닌 자바 속성의 실제 이름입니다

답변

1

당신은 참조 된 테이블 컬럼의 이름이어야합니다 집 엔티티

@OneToOne(fetch = FetchType.EAGER) 
@JoinColumn(name="HouseID") 
private Cottage cottage; 

이름에 @JoinColumn을 추가해야

1

고맙습니다 당신은 @JoinColumn 주석과 외래 키를 정의 할 필요가있다.

관련 문제