带有条件的休眠查询
Posted
技术标签:
【中文标题】带有条件的休眠查询【英文标题】:Hibernate query with Criteria 【发布时间】:2014-09-18 11:43:56 【问题描述】:请任何人帮助我将以下 SQL 查询转换为 Hibernate:
Select *
from(select to_char(start_time, 'dd/mm/yyyy HH') st,
sum(success_count)
from GMO_DETAILS
where start_time between ? and ?
group by to_char(start_time, 'dd/mm/yyyy HH')
order by sum(success_count) desc )
where rownum<=10
我尝试了很多选项,但没有一个按预期工作。
【问题讨论】:
【参考方案1】:您不需要将其转换为 hql,您可以将您的 sql 与 SQLQuery
类一起使用。
这是一个例子
SQLQuery query = session.createSQLQuery(yourSql);
query.addEntity("_this", YoutEntityCalss.class);
query.list();
【讨论】:
感谢您的回复。但是我们正在摆脱对 SQL 的依赖,我们没有使用任何与 SQL 相关的东西。【参考方案2】:使用Criteria API,意思是:
mapping the model entitiesrownum
(pagination) 可以通过setFirstResult
和setMaxResults
实现
对于sum
使用projections
添加where
子句你应该Restrictions
这基本上是阅读manual 的提示。
希望它不是太模糊,但没有任何特定的模型映射,这是我能做到的。
【讨论】:
以上是关于带有条件的休眠查询的主要内容,如果未能解决你的问题,请参考以下文章