簡體   English   中英

條件休眠內部連接投影組

[英]Criteria hibernate inner join projection group by

我在將此SQL轉換為休眠條件時遇到麻煩。 我已經找到它了一段時間,但是卻不知道該怎么做。

SELECT *  FROM tableA a
INNER JOIN (
  SELECT tableA_nr AS cod, max(tableA_status) as sit
  FROM tableA 
  GROUP BY (tableA_nr)
 ) status_nr_list
ON a.tableA_nr = status_nr_list.cod and a.tableA_status = status_nr_list.sit
ORDER BY tableA_nr;

到目前為止,這是我已經完成的工作。

criteria.setProjection(
         Projections.projectionList()
           .add(Projections.groupProperty("tableA_nr"))
           .add(Projections.max("tableA_status.id")));

提前致謝!

不知道這是否有效,但提示是您可以使用Detached Criteria進行子查詢。

子查詢

DetachedCriteria status_nr_list = DetachedCriteria.forClass(tableA_nr.class, "tableA_nr");
status_nr_list.setProjection(Projections.max("tableA_status"));
status_nr_list.setProjection(Projections.property("tableA_nr"));

主要查詢

session.createCriteria(tableA_nr.class)
.add( Subqueries.propertyIn("tableA_nr", status_nr_list) )
.add( Subqueries.propertyIn("tableA_status", status_nr_list) );

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM