0

クラスStudentと1対多の依存関係を持つDepartmentクラスがあります。

class Student{
    String name;
    int age;

    @OneToMany
    List<Department> departments;

    //all getter setters here
}

これはDepartmentクラスです:

class Department{
    String depName;
    String address;
    //all getters and setters.
}

データベースから結果を取得するために Hibernate を使用しています。

nameageからStudent、およびdepNameから取得したいDepartment

現在、私はこのクエリを使用しています:

Criteria criteria = sessionFactory.getCurrentSession().createCriteria(Student.class).createAlias("department", "department");
criteria.setResultTransformer(Transformers.aliasToBean(Student.class));

List<Student> rows = (List<Student>)criteria.list();

何らかの操作で行要素にアクセスしようとすると、スローされます

ClassCastException: java.lang.long または java.lang.string を com.model.Student にキャストできません

上記のクエリに対する Student POJO の取得方法を教えてください。

4

1 に答える 1

0

少なくともここにエラーがあります

sessionFactory.getCurrentSession().createCriteria(Student.class).createAlias("departments", "departments");

departmentsSマッピングに従っている必要があります。

于 2013-08-02T12:33:16.447 に答える