Hibernate持久类:     @实体     公共类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 “来自A的加入a.bSet BSET选择a.DELETED” 将产生这样的本机SQL:

选择a0_.DELETED作为从A A0 ...内col_0_0_上a0_.id = bset1_.a_id 并(bset1_.DELETED = 0或bset1_.DELETED为null)

加入乙bset1_

和entityManager.find(...)将工作的权利:)

scroll top