0
我想用指標分析使用Hibernate的標準
select A.evaluated_employee_id, A.created_date, A.total_grade
from employee_performance_assessment A
join
( select evaluated_employee_id, max(created_date) as maxdate, status, total_grade
from employee_performance_assessment
group by evaluated_employee_id
) B on A.evaluated_employee_id = B.evaluated_employee_id and A.created_date = B.maxDate
得到這個SQL我做了以下
DetachedCriteria dc = DetachedCriteria.forClass(EmployeePerformanceAssessmentBO.class);
dc.createAlias("evaluatedEmployee", "e");
dc.setProjection(Projections.projectionList().add(Projections.max("createdDate"))
.add(Projections.groupProperty("evaluatedEmployee")));
dc.addOrder(Order.asc("e.lastName")).addOrder(Order.asc("createdDate"));
dc.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY);
return getDAOHibernateTemplate().findByCriteria(dc);
選擇組最後一個記錄但這產生內部的子查詢的WHERE子句 任何想法如何加入同一個表(類)中的兩個標準?
HQL查詢的from子句不支持子查詢。 Criteria只支持HQL的一個子集。 –
感謝您的評論,所以解決方案將執行本機SQL? – user2869195
是的。你需要SQL來進行這樣的子查詢。 –