如何以面向对象的方式处理Hibernate hql多连接查询结果?

时间:2010-03-12 09:20:57

标签: java hibernate spring hql

如何以面向对象的方式处理Hibernate hql多连接查询结果?

我看到它会返回一个对象列表。是的,它很棘手,只有你编写查询的人 知道查询应该返回什么(什么对象)。

但是有没有办法简化事情,所以它返回特定的对象而不需要进行投射 根据它在查询中的位置对特定类进行对象?

也许Spring可以简化这里的事情?它具有与JDBC类似的功能,但我不知道它是否能以与Hibernate类似的方式提供帮助。

1 个答案:

答案 0 :(得分:0)

传统方法是仅返回根实体类型,并确保来的实体(左/右/内)正确连接,因此当您执行entity.getChilds()时,子项已经加载。

另一种方法是使用select new CustomClass(a,b,c)(请参阅文档here)。您可以创建名为CustomClass的POJO类(不需要映射),并将查询结果直接映射到类。