2010-12-22 3 views
0

외래 키에 의해 일대일 관계에 있어야하는 두 개의 클래스 A와 B가 있습니다 .A에는 기본 키로 a_id가 있고 B에는 a_id 외래 키가 있습니다. 하지만 클래스 B를 원합니다 A의 식별자의 인식 부하 전체 B 클래스최대 절전 모드 일대일 반전

내가 노력하면서 (A 클래스)

@OneToOne 
@JoinColumn(name="a_id",referencedColumnName="a_id") 
private B b; 

(즉,이 클래스 B에서 A 형의 어떤 필드는 없다) 그러나

가입 시도를 최대 절전 모드
a.a_id = b.b_id 

대신

a.a_id = b.a_id 

예상되는 동작을 어떻게 달성 할 수 있습니까?

감사 하나

답변

0

하나는 상속 유형의 시나리오에 사용됩니다. 이 상황에서 일대일 대 대다수를 사용하고 싶지는 않습니다. 고유 한 제한 조건을 사용하여 다 대다를 시도하십시오.

0

그것은 작동한다 :

@OneToOne 
@JoinColumn(name="a_id") //better name would be a_fk 
private B b; 

하지만 1 troulbe 있었다 :

@ManyToOne 
@JoinColumn(name="a_id") //better name would be a_fk 
private B b; 
:이 경우에는 내가 해결 방법으로 ManyToOne을 사용, 일부 년 전에 한 관계를