[英]Hibernate nested query using criteria
是否可以創建以下sql生成條件:
select name from (select distinct name from person) as aliasname order by lower(name);
這里有兩個SQL-
select distinct name from person
select name from <output of 1> as aliasname order by lower(name)
我想創建標准,然后執行criteria.list()
我認為,這將滿足您的需求:
criteria.addOrder(Order.asc("name").ignoreCase())
.setProjection(Projections.distinct(Projections.property("name")))
.list();
或者,此條件使用帶有名稱投影的DetachedCriteria作為子查詢:
DetachedCriteria distinctNamesCriteria = DetachedCriteria.forClass(Person.class);
distinctNamesCriteria.setProjection(Projections.distinct(Projections.property("name")));
criteria.add(SubQueries.propertyIn("name", distinctNamesCriteria))
.addOrder(Order.asc("name").ignoreCase())
.list();
我沒有答案,但是為什么要第二選擇?
SELECT DISTINCT NAME FROM PERSON AS ALIASNAME ORDER BY LOWER(NAME)
將返回相同的數據。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.