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_": 無効な識別子
このコードを開発するために、私は以下の別の投稿に触発されました:
私は解決にはほど遠いと思いますが、私を助ける人はいますか? ご不明な点がございましたら、お気軽にお問い合わせください。このクエリに貼り付ける別の回避策が見つかった場合は、遠慮なく提案してください...