我目前正在从hibernate 3迁移到4.我设法解决了依赖关系,但我面临着流行的:org.hibernate.QueryException: query specified join fetching, but the owner of the fetched association was not present in the select list...
问题。我曾经做过以下操作,以强制Hibernate获取整个对象及其集合属性,即具有多个Departments的Employee和每个部门的地址。
所以在HQL中我有类似的东西:
select e from Employee as e left join fetch e.department left join fetch e.department.address where e.id= ....
这很好用但是在新版本的Hibernate中我只能获取直接属于employee对象而不是部门的属性。我想要的是获取所有属性,因为会话在查询后关闭,延迟提取显然会引发异常。
答案 0 :(得分:0)
我想出了需要什么,我在这里发帖给其他有同样问题的人。
查询应为:
select e from Employee as e left join fetch e.department as department left join fetch department.address where e.id=...
我们必须使用别名department
。