特定の条件に従って @OneToOne 関連付けをフェッチする必要があるという要件があります。
class Entity2 {
@OneToOne
@Where(clause="epoch_end_time > current_timestamp() ")
@JoinColumn(name="program_index",insertable=false,updatable=false,nullable=false)
private ProgramHistory pgmHistory;
}
class Entity1 {
@OnetoMany
@JoinColumn(...........)
private Entity2 entity;
}
「from Entity1」を実行すると..Hibernateは以下のような条件を持つクエリを作成します「........,Entity2.proram_index = ProgramHistory.program_index」...しかし、@Where句も必要ですこのクエリの一部として追加されます。しかし、休止状態はそれを追加しているようには見えません。@Whereに代わるものはありますか..私の場合、epoch_end_timeはProgramHistoryテーブルのコラムです。
@OneToMany で正常に動作する @Where ...しかし、私の要件は、@OneToOne の関連付けられたエンティティに条件を配置することです。@Filter は役に立ちますか? ドキュメントには、@Where と @Filter は Collection 用であると記載されています。