Многие, спасибо!
это мое решение:
@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 "выберите a.DELETED из A a a.bSet bSet" будут генерировать собственный SQL следующим образом:
выберите a0_.DELETED как col_0_0_ из A a0_ внутреннего соединения B bset1_ для a0_.id = bset1_.a_id и (bset1_.DELETED = 0 или bset1_.DELETED равно нулю)
и entityManager.find (...) будет работать правильно:)