Hibernate: слишком много строк

У меня проблема с получением строк из моей базы данных с помощью Hibernate. Когда я хочу получить только одну строку, я получаю 20. Когда я хочу получить все строки из таблицы с примерно 1,5 тыс. Строк, я получаю ровно 15,2 тыс. Строк. Класс сущности этой таблицы имеет составной первичный ключ.

Это мой код для получения всех строк:

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

И это мой класс Entity:

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

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

А этоMyPK учебный класс:

@Embeddable
public class MyPK implements Serializable {

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

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

   //constructors, getters and setters
}

MyEntity класс абстрактный класс с@MappedSuperclass аннотаций. Это заголовок этого класса:

@MappedSuperclass
public abstract class MyEntity

Что я делаю неправильно? Это проблема с?EmbeddedId

РЕДАКТИРОВАТЬ # 1 Как я понял, это проблема с этим:

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

Этот объект содержит внешний ключ к другой таблице. И эта другая таблица имеет ссылку на другую. И эта последняя таблица имеет 10 строк для предыдущей таблицы. В результате я получаю количество строк * 10. Возможно, проблема в аннотации Hibernate в моих сущностях.

Ответы на вопрос(4)

Ваш ответ на вопрос