如何以面向对象的方式处理Hibernate hql多连接查询结果?
我看到它会返回一个对象列表。是的,它很棘手,只有你编写查询的人 知道查询应该返回什么(什么对象)。
但是有没有办法简化事情,所以它返回特定的对象而不需要进行投射 根据它在查询中的位置对特定类进行对象?
也许Spring可以简化这里的事情?它具有与JDBC类似的功能,但我不知道它是否能以与Hibernate类似的方式提供帮助。
答案 0 :(得分:0)
传统方法是仅返回根实体类型,并确保来的实体(左/右/内)正确连接,因此当您执行entity.getChilds()
时,子项已经加载。
另一种方法是使用select new CustomClass(a,b,c)
(请参阅文档here)。您可以创建名为CustomClass
的POJO类(不需要映射),并将查询结果直接映射到类。