【问题标题】:How to get POJO response using projection in Hibernate?如何在 Hibernate 中使用投影获得 POJO 响应?
【发布时间】:2013-08-02 11:01:53
【问题描述】:

我有一个类 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 从数据库中获取结果。

我想从Student 获得nameage 和从Department 获得depName

到目前为止,我正在使用此查询:

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

请告诉我如何获取 Student POJO 以响应上述查询。

【问题讨论】:

    标签: hibernate


    【解决方案1】:

    至少你这里有错误

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

    根据您的映射,departments 应该与 S 一起使用。

    【讨论】:

      猜你喜欢
      • 2011-11-21
      • 2012-05-29
      • 1970-01-01
      • 1970-01-01
      • 2015-08-13
      • 1970-01-01
      • 2015-10-09
      • 2018-08-08
      • 1970-01-01
      相关资源
      最近更新 更多