Hibernate 需要帮助优化HQL以减少返回的列吗
我的HQL如下:Hibernate 需要帮助优化HQL以减少返回的列吗,hibernate,hql,Hibernate,Hql,我的HQL如下: 从ProductMain作为pm加入获取pm.person作为ps加入获取pm.personProduct作为pp加入获取pm.personReturn作为pr加入获取pp.PersonObject作为po,其中pp.id in(180000)和ps.id>=:lowRange和ps.id错误-904由于资源不可用导致执行失败。原因代码、资源类型类型和资源名称资源名称。。。。因此,您需要了解它与您的查询的关系 关于只获取必需属性是,您可以这样写:- SELECT pm.col1
从ProductMain作为pm加入获取pm.person作为ps加入获取pm.personProduct作为pp加入获取pm.personReturn作为pr加入获取pp.PersonObject作为po,其中pp.id in(180000)和ps.id>=:lowRange和ps.id错误-904由于资源不可用导致执行失败。原因代码、资源类型类型和资源名称资源名称。。。。因此,您需要了解它与您的查询的关系 关于只获取必需属性是,您可以这样写:-
SELECT pm.col1,
pm.col2
FROM
from ProductMain as pm
JOINFETCH pm.person AS ps
JOINFETCH pm.personproduct AS pp
JOINFETCH pm.personreturn AS pr
JOINFETCH pp.personobjects AS po
WHERE pp.id IN (180,000)
AND ps.id >= :lowRange
AND ps.id <= :highRange
选择pm.col1,
下午2点
从…起
从ProductMain到pm
将pm.person作为ps
JOINFETCH pm.personproduct作为pp
JOINFETCH pm.personreturn作为pr
JOINFETCH pp.PersonObject作为po
其中pp.id为(180000)
和ps.id>=:低范围
ps.id如果有人像我一样偶然发现了这个问题,我会发现这篇关于Hibernat最佳实践的有趣博文:
参见“1.2 Pojo”一章:回答上面评论部分的问题:是的,您可以选择单个列并将它们传递到Pojo的构造函数中,该构造函数可以是同一个实体,但有另一个构造函数。是否有任何东西阻止您使用select
,例如select pm.col1,ProductMain中的pm.col2作为pm代码>?我可以这样做吗?所以我只使用ProductMain中的select pm.col1,pm.col2作为pm join fetch pm.person作为ps join fetch pm.personProduct作为pp j等等?另外,假设还有其他与ProductMain链接的表,如Car、House等,我只需要其中的几个列。。。我想问题是这个表有一百列,当我得到结果时,它会使资源区域过载。因此,我认为如果我可以指定一些我需要的列,那么它将减少问题?我认为问题是表有100列,当我得到结果时,它会使资源区域过载。因此,我认为如果我可以指定一些我需要的列,那么它将减少问题?我假设如果返回的结果是针对特定的列,那么它仍然可以映射到Hibernate对象?其他的表连接呢?如果ProductMain具有指向具有100列的表的其他链接,我如何限制它们返回的列?那么返回的对象是ProductMain对象还是仅包含我想要的行的对象列表?我希望使用hibernate对象映射为结果。