Question

Hibernate classe de persistance:     @Entité     public class A {

    @OneToMany(mappedBy = "a")
    private Set<B> bSet = new HashSet<B>();

    @Basic
    private boolean DELETED;

}

Classe B ont également une propriété deleted. Comment peut-on traiter propriété deleted lors de se joindre automatiquement, pour les entités sélectionnez uniquement non supprimés. Peut-être avec l'aide de quelques annotations. Il est possible?

Était-ce utile?

La solution 2

Beaucoup thx! c'est ma résolution:

@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;
    }
}

et HQL "select a.DELETED de A une jointure a.bSet bSet" sera générer natif SQL comme ceci:

sélectionner a0_.DELETED comme col_0_0_ de A jointure interne a0_ B bset1_ sur a0_.id = bset1_.a_id et (bset1_.DELETED = 0 ou bset1_.DELETED est nul)

et entityManager.find (...) travaillera droite:)

Autres conseils

Selon Hibernate documentation vous devez utiliser ResultTransformer (ALIAS_TO_ENTITY_MAP).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top