Hibernate连表查询怎么查满足条件的记录条数(分别用Query和Criteria)

有两张表,items和orders;多对一关系;items中字段:id,name,orderid(外键);orders中字段:id,name;各字段类型和对应的实体类具体... 有两张表,items和orders;多对一关系;
items中字段:id,name,orderid(外键);
orders中字段:id,name;
各字段类型和对应的实体类具体样子就不赘述了。
现在要查满足以下条件的记录条数:
item.name like '%i%',且item.orderid关联的orders的name like '%a%';
用Query查询所有的记录我会查的,hql="from Item i join fetch i.order o where i.name like '%i%' and o.name like '%a%'";
但是怎么查询满足要求的记录条数?我在前面加"select count(*) "来查询的话会报异常。
我想过先查出所有记录:List list=query.list();return list.size();
但很明显,当满足条件的记录条数相当多时,这种方法效率非常低下,有没有更好的办法?
请高手解答,谢谢!!!
简单地说就是这样一个SQL查询用hibernate该怎么查:
select count ( * )
from items i
inner join orders o
on i.orderid = o.id
where i.name like 'i' and o.name like 'a';
中文描述为:将items 表和orders 表按条件 items.orderid=order.id内连接。
查 items.name 包含'i' orders.name包含'a'的记录条数。
展开
 我来答
007moustar
2010-01-27
知道答主
回答量:18
采纳率:0%
帮助的人:18.3万
展开全部
select count(*) from items i ,orders o where i.orderid=o.id and
(类型中字段对应的属性,有时用自动生成的orderid可能会是order,主要看你的类中是如何对该外键属性进行命名) i.name like '%i%' and o.name like '%a%'";

返回的值是一个object,需要进行处理,如何处理相信你能解决,如果不行可以给我留言,最好附上你需要处理块的代码.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ZESTRON
2024-09-04 广告
表界面分析在材料科学及化学领域占据核心地位,它深入探索物质表面与界面的微观结构、化学组成及相互作用。通过电商平台射线光电子能谱(电商平台PS)、扫描电子显微镜(SEM)及原子力显微镜(AFM)等先进技术手段,我们Dr. O.K. Wack ... 点击进入详情页
本回答由ZESTRON提供
嘉尔的爸爸
2010-01-26 · TA获得超过1820个赞
知道小有建树答主
回答量:1013
采纳率:0%
帮助的人:296万
展开全部
想用了hibernate。又写sql 就不能用query了

session.createSQLQuery("......");就不会报错了
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hhjcjcjddtc
2010-01-25 · TA获得超过1662个赞
知道小有建树答主
回答量:418
采纳率:0%
帮助的人:247万
展开全部
你可以试试用二级缓存
或者分页吧。。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式