本文介绍了SQL语句转换为hibernate标准(具有count子句)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个SQL查询,我想将它转换为一个标准(Hibernate 3.3.2),将其用于我的持久层。
这是查询:

  select last_name 
from member
where
member .end_date> SYSDATE
group by member.last_name
具有count(member.last_name)> 1;

我已经尝试了很多组合,但没有结果对我有好处。 。这是我的代码:

  Criteria criteria = getSession(false).createCriteria(Member.ENTITY_NAME); 
criteria.setProjection(Projections.projectionList()
.add(Projections.groupProperty(lastName))
.add(Projections.count(lastName)。as(cptLastName ))
);
criteria.add(Restrictions.ge(endDate,now))
.add(Restrictions.le(startDate,now))
//。add(Restrictions.gt cptLastName,new Integer(1)))
.addOrder(Order.asc(lastName))
;

通过使用注释行编写它,我有一个包含名称和数量的对象列表该名称出现在数据库中的时间。但是当我想分解它时,这个错误:
java.sql.SQLException:ORA-00904:Y1_:无效标识符

开发这段代码,我受到了以下不同文章的启发:

11-01 12:20