【发布时间】:2020-08-08 01:07:19
【问题描述】:
我遇到了性能问题,我正在尝试添加一些 fetch join 以仅在一个请求中获取一些数据。
我的问题是:
我得到了一个映射对象AbstractObject。
而且我还得到了其他映射对象,例如ObjectA、ObjectB 等……都在扩展AbstractObject。
在我的ObjectA 中,我得到了foos 的列表。
在我的ObjectB 中,我得到了otherFoos 的列表。
我正在尝试做的事情: 我想写一个这样的请求:
entityManager.createQuery("SELECT ao FROM AbstractObject ao LEFT JOIN FETCH ao.foos LEFT JOIN FETCH ao.otherFoos WHERE ao.id = ?1", AbstractObject.class)
问题:我得到了一个nullPointerException,因为我认为hibernate 不知道foos 或otherFoos 的AbstractObject。
在我看来,我不知道我是否会有ObjectA 或ObjectB。
有人知道这个问题的解决方案吗?
休眠版本:5.0.12.Final
【问题讨论】:
-
附加信息:我不想使用复活节解决方案总是得到 foos 和 otherFoos。
标签: sql hibernate orm mapping hql