質問
永続クラスを休止: @エンティティ パブリッククラスA {
@OneToMany(mappedBy = "a")
private Set<B> bSet = new HashSet<B>();
@Basic
private boolean DELETED;
}
クラスBも削除性質を持っています。選択だけで削除されていないエンティティのために、自動的に参加する時にどのように我々は、削除プロパティを処理することができます。 いくつかのアノテーションの助けを借りてかもしれません。それは可能ですか?
解決 2
多くのTHX! それは私の決意です。
@Entity
public class A extends DeletableEntity{
@OneToMany(mappedBy = "a")
@Where(clause = "DELETED=0 or DELETED is null")
private Set<B> bSet = new HashSet<B>();
public Set<B> getBSet() {
return bSet;
}
public void setBSet(Set<B> bSet) {
this.bSet = bSet;
}
}
とHQLこのようなネイティブSQLを生成します "に参加a.bSet BSETからa.DELETEDを選択して" ます:
a0_内側からcol_0_0_としてa0_.DELETEDを選択しa0_.id = bset1_.a_idのと(bset1_.DELETED = 0またはbset1_.DELETEDがnull)の
にBのbset1_に参加しますとentityManager.find(...)が正しく動作されます。)