Hibernate 如何按日期获取5条最新评论订单
我正在使用以下查询为id为1的用户获取注释。 在这个查询中,我得到了所有有关“百折不挠”消息的注释。 在这里,我只想获取按Hibernate 如何按日期获取5条最新评论订单,hibernate,hql,Hibernate,Hql,我正在使用以下查询为id为1的用户获取注释。 在这个查询中,我得到了所有有关“百折不挠”消息的注释。 在这里,我只想获取按commentDate(Date)字段排序的5条最新注释 from PostMessageUsers as pmu left join fetch pmu.postMessages as pm left join fetch pm.comments as cmts where pmu.atomByReceivedBy.id=1 如何做到这一点 编辑:
commentDate(Date)
字段排序的5条最新注释
from PostMessageUsers as pmu
left join fetch pmu.postMessages as pm
left join fetch pm.comments as cmts
where pmu.atomByReceivedBy.id=1
如何做到这一点
编辑:我想要用户的所有消息。假设用户有100条消息,它将显示他的100条消息以及每条消息的5条注释。在获取数据列表之前,您可以通过调用查询对象上的
setFirstResult()
和setMaxResults()
函数来限制查询返回的结果行。
您可以使用以下用户代码:
Query query = session.createQuery("from PostMessageUsers as pmu left join fetch pmu.postMessages as pm left join fetch pm.comments as cmts where pmu.atomByReceivedBy.id=1 oder by commentDate desc");
query.setFirstResult(0);
query.setMaxResults(5);
List result = query.list();
如果您使用的是条件查询,则可以使用PostMessageUsers中的作为pmu
左连接获取pmu.postMessages作为pm
左连接获取pm.comments作为CMT
其中pmu.atomByReceivedBy.id=1
和ROWNUM您可以通过调用函数query.setMaxResults()来设置获取查询返回的结果的限制
玩具可以为你的查询结果设置起始位置
Query query = session.createQuery("from PostMessageUsers as pmu left join fetch pmu.postMessages as pm left join fetch pm.comments as cmts
where pmu.atomByReceivedBy.id=1 oder by commentDate desc");
query.setFirstResult(0);
query.setMaxResults(5);
List result = query.list();
它将返回从1条记录开始的第5条结果的查询结果。
i、 e.1至5项记录
或
它将返回查询结果,从第6条记录开始返回5个结果。
i、 e.6至10项记录
如果您想详细了解示例的详细信息,请访问此链接
如果您使用的是条件查询
然后点击这个链接
谢谢…此HQL查询不起作用。org.hibernate.exception.sqlgrammareexception
:无法执行查询我想要用户的所有消息。假设用户有100条消息,它将显示他的100条消息以及每条消息的5条评论
Query query = session.createQuery("from PostMessageUsers as pmu left join fetch pmu.postMessages as pm left join fetch pm.comments as cmts
where pmu.atomByReceivedBy.id=1 oder by commentDate desc");
query.setFirstResult(0);
query.setMaxResults(5);
List result = query.list();
Query query = session.createQuery("from PostMessageUsers as pmu left join fetch pmu.postMessages as pm left join fetch pm.comments as cmts
where pmu.atomByReceivedBy.id=1 oder by commentDate desc");
query.setFirstResult(5);
query.setMaxResults(5);
List result = query.list();