Frage

Ausdauer Klasse Hibernate:     @Entität     public class A {

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

    @Basic
    private boolean DELETED;

}

Klasse B haben auch ein gelöschtes Objekt. Wie können wir GESTRICHEN Eigenschaft verarbeiten während automatisch beitreten, für ausgewählte nur nicht gelöscht Einheiten. Kann mit Hilfe von einigen Anmerkungen sein. Es ist möglich?

War es hilfreich?

Lösung 2

Viele thx! das ist meine Entschlossenheit:

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

und HQL "wählt a.DELETED von A einem a.bSet bSet beitreten" wird nativen SQL wie diese werden generiert:

wählen a0_.DELETED als col_0_0_ von A A0_ Exklusionsverknüpfung B bset1_ auf a0_.id = bset1_.a_id und (bset1_.DELETED = 0 oder bset1_.DELETED ist null)

und EntityManager.find (...) arbeiten wird rechts:)

Andere Tipps

Nach Hibernate sollten Sie ResultTransformer (ALIAS_TO_ENTITY_MAP) verwenden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top