4

次のようにエンティティをマッピングしようとしています

@OneToOne(mappedBy = "localizedLabel")
@JoinColumn(insertable = false, updatable = false)
@WhereJoinTable(clause = "locale='en_US'")
public Localization getEn_US() {
    return en_US;
}

データが見つからない場合は1つだけ、または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

@OneToOneと@Where句の関係をマッピングするためのアイデアはありますか?

ありがとう

4

2 に答える 2

0

あなたの @OneToOne は結合テーブルを使用していないようです。

その場合、結合テーブルの行をフィルタリングする @WhereJoinTable ではなく、 @Where アノテーションを使用すべきではありませんか?

于 2010-03-26T13:28:25.933 に答える