Ruhezustand: Zu viele Zeilen

Ich habe Probleme beim Abrufen von Zeilen aus meiner Datenbank mit Hibernate. Wenn ich nur eine Zeile erhalten möchte, erhalte ich 20. Wenn ich alle Zeilen aus einer Tabelle mit etwa 1,5.000 Zeilen erhalten möchte, erhalte ich genau 15,2.000 Zeilen. Die Entitätsklasse dieser Tabelle hat einen zusammengesetzten Primärschlüssel.

Dies ist mein Code zum Abrufen aller Zeilen:

Criteria criteria = getSession().createCriteria(type);
criteria.setCacheable(true).setCacheRegion(BaseEntity.PACKAGE);
criteria.list();

Und das ist meine Entity-Klasse:

@javax.persistence.Entity
@Table(name = "my_table")
public class My extends MyEntity<MyPK> {

    @EmbeddedId
    private MyPK id;

    @Column(name = "text", nullable = false)
    protected String text;

    @ManyToOne
    @JoinColumn(name = "property", nullable = false, insertable = false, updatable = false)
    protected Option option;

    @Override
    public MyPK getId() {
        return id;
    }

    @Override
    public void setId(MyPK id) {
        this.id = id;
    }

    //getters and setter
}

Und das istMyPK Klasse:

@Embeddable
public class MyPK implements Serializable {

   @Column(name = "qwerty")
   protected String qwerty;

   @Column(name = "property")
   protected String property;

   //constructors, getters and setters
}

MyEntity Klasse ist abstrakte Klasse mit@MappedSuperclass Anmerkung. Dies ist der Klassenheader:

@MappedSuperclass
public abstract class MyEntity<T extends Serializable>

Was mache ich falsch? Liegt das Problem beiEmbeddedId?

EDIT # 1 Wie ich festgestellt habe, ist dies ein Problem:

@ManyToOne
@JoinColumn(name = "property", nullable = false, insertable = false, updatable = false)
protected Option option;

Dieses Objekt enthält einen Fremdschlüssel für eine andere Tabelle. Und diese andere Tabelle verweist auf eine andere. Und diese letzte Tabelle enthält 10 Zeilen für die vorherige Tabelle. Im Ergebnis erhalte ich die Zeilenanzahl * 10. Das Problem liegt wahrscheinlich in der Annotation "Ruhezustand" in meinen Entitäten.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage