Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hibernate 如何按日期获取5条最新评论订单_Hibernate_Hql - Fatal编程技术网

Hibernate 如何按日期获取5条最新评论订单

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 如何做到这一点 编辑:

我正在使用以下查询为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();