【发布时间】:2014-06-26 17:51:17
【问题描述】:
我有个sql语句如下,
select *
from (select distinct field1
from X
where field2 = 'value2'
and field3 > 'value3'
and field4 in(value4)
and field5 in(value5)
and field6 is null
order by field1)
where ROWNUM <= 20 ;
我尝试将其转换为 HQL,如下所示,
DetachedCriteria detachedQuery = DetachedCriteria.forClass(X.class)
.setProjection(Projections.property("field1"))
.add(Restrictions.eq("field2",value2))
.add(Restrictions.gt("field1", value1))
.add(Restrictions.in("field3",value3))
.add(Restrictions.in("field4", value4))
.add(Restrictions.isNull("field5"))
.addOrder(Order.asc("field1"));
Criteria criteria= session.createCriteria(X.class);
criteria.add(Property.forName("field1")
.in(detachedQuery))
.setMaxResults(20);
我说的对吗?
【问题讨论】:
-
您可以使用 hibernate.cfg.xml 中的 show-sql 属性自己查看
-
你能详细说明一下吗?我是休眠新手。
标签: sql hibernate select pagination hql