我有一个类Student
,它与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从数据库中获取结果。
我想从name
获得age
,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();
如果我尝试访问某些操作的rows元素,那么它会抛出
ClassCastException:java.lang.long或java.lang.string无法强制转换为com.model.Student
请告诉我如何获取学生POJO以回应上述查询。
答案 0 :(得分:0)
至少你有错误
sessionFactory.getCurrentSession().createCriteria(Student.class).createAlias("departments", "departments");
根据您的映射, departments
应该与S
匹配。