Hibernate 将@OneToOne与@Where子句映射

Hibernate 将@OneToOne与@Where子句映射,hibernate,where,one-to-one,Hibernate,Where,One To One,我正在尝试映射一个实体,如下所示 @OneToOne(mappedBy = "localizedLabel") @JoinColumn(insertable = false, updatable = false) @WhereJoinTable(clause = "locale='en_US'") public Localization getEn_US() { return en_US; } 我可以保证,如果未找到,数据将只返回一个或null,但hibernate似乎忽略了我的@Wh

我正在尝试映射一个实体,如下所示

@OneToOne(mappedBy = "localizedLabel")
@JoinColumn(insertable = false, updatable = false)
@WhereJoinTable(clause = "locale='en_US'")
public Localization getEn_US() {
    return en_US;
}
我可以保证,如果未找到,数据将只返回一个或null,但hibernate似乎忽略了我的@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
关于ho将@OneToOne关系映射到@Where子句有什么想法吗


谢谢

您的@OneToOne似乎没有使用联接表


在这种情况下,您不应该使用@Where注释而不是过滤联接表行的@WhereJoinTable吗?

当您使用
@JoinColumn
时,引用列是在源表中创建的(因为它是一对一关联),这样可以避免创建联接表