我有一个 SQL 查询,我想将其转换为标准(Hibernate 3.3.2)以将其用于我的持久层。那是查询:
select last_name
from member
where
member.end_date > SYSDATE
group by member.last_name
having 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_": invalid identifier
为了开发此代码,我受到以下不同帖子的启发:
我想我离解决方案不远,但有没有人可以帮助我?如果您有任何问题,请随时问我。如果您找到了另一种解决方法让我粘贴到此查询中,请不要犹豫提出它...