2010-03-26 2 views
2

@Where 절을 @OneToOne 다음과 같은매핑 내가 엔티티를 매핑하는 것을 시도하고있다

@OneToOne(mappedBy = "localizedLabel") 
@JoinColumn(insertable = false, updatable = false) 
@WhereJoinTable(clause = "locale='en_US'") 
public Localization getEn_US() { 
    return en_US; 
} 
나는 데이터가없는 하나의 경우는 null 반환하지만 최대 절전 모드 내를 무시하는 것 같다 드릴 수 있습니다

@ Where 절 :

ERROR com.eventtouch.bc.business.core.log.LoggingInterceptor - org.hibernate.HibernateException: More than one row with the given identifier was found: 4211, for class: com.eventtouch.bc.business.domain.LocalizedLabel 

@Where 절과 @OneToOne 관계를 매핑하는 방법에 대한 아이디어가 있습니까?

감사

답변

0

귀하의 @OneToOne 조인 테이블을 사용하지 않는 것.

그런 경우 조인 테이블의 행을 필터링하는 @WhereJoinTable 대신 @Where 주석을 사용하지 않아야합니까?

+1

나는 그랬지만 오류는 지속됩니다! – Gabriel

0

@JoinColumn을 사용할 때 원본 테이블에 참조 열이 만들어집니다 (일대일 연관이므로). 조인 테이블을 만들지 마십시오.

관련 문제