【发布时间】:2015-02-24 11:43:59
【问题描述】:
我的问题是这样的;我有一个包含 2 个其他实体列表的实体。当我使用查询来选择它们时;
select DISTINCT ru FROM RtsResource ru WHERE ru.resourceId= :arg1
我得到了大约 500 个休眠选择,而且速度非常慢。所以我尝试了;
select DISTINCT ru FROM RtsResource ru JOIN FETCH ru.projectResources JOIN FETCH ru.resourceSkills WHERE ru.resourceId= :arg1
这要快得多,但它只选择 projectResources 或 resourceSkills 不为空的查询。
有没有办法编写类似于第二个但也包含空值的查询?
或者,有没有办法在不使用 Fetch Joins 的情况下解决 #1 的问题?
值得注意的是,我将 Java 与 Spring、JPA 和 Hibernate 结合使用。
【问题讨论】: