Hibernate вместо вывода всей таблицы выводит первую строку

Этот код заполняет список tableList именами студентов из таблицы Students, но абсолютно такой же код для таблицы Purchase заполняет весь список значениями из первой строки таблицы Purchase. Как сделать так, чтобы для Purchase выводилась вся таблица

public static void main(String[] args) {
        SessionFactory sessionFactory = DBConnection.getSessionFactory();
        Session session = sessionFactory.getCurrentSession();
        Transaction transaction =      session.beginTransaction();
            CriteriaBuilder builder = session.getCriteriaBuilder();
            CriteriaQuery<Student> query = builder.createQuery(Student.class);
            Root<Student> root = query.from(Student.class);
            query.select(root);

            List<Student> tableList = session.createQuery(query).getResultList();
            tableList.forEach(c-> System.out.println(c.getName()));
            transaction.commit();

sessionFactory.close();
}

Класс с сущностью Student:

    @Entity
@Table(name = "students")
public class Student {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "id")
    private Integer id;
    @Column(name = "name")
    private String name;
    @Column(name = "age")
    private Integer age;
    @Column(name = "registration_date")
    private Date registrationDate;
-getters, setters, constructors-

Код класса Purchase:

@Entity
@Table(name = "purchaseList")
public class Purchase {
    @Column(name = "student_name", insertable = false, updatable = false)
    private String studentName;

    @Column(name = "course_name", insertable = false, updatable = false)
    private String courseName;

    @Column(name = "price")
    private Integer price;

    @Column(name = "subscription_date")
    private Date subscriptionDate;

    @EmbeddedId
    private PurchaseKey id;
-getters, setters, constructor-

Ответы (1 шт):

Автор решения: Artem

Дело было в том, что в классе PurchaseKey(класс ключа для таблицы Purchase) аннотации @Column были навешены не на сами переменные, а на их геттеры.

→ Ссылка