0
我需要把下一個查詢到標準Hibernate的標準GROUP BY和順序按
SELECT DISTINCT SUBSTRING(id, 1, LENGTH(id)-3) AS id_trunc, MAX(version) as version, MAX(code) as code
FROM theTable
WHERE (version like '%.%' AND NOT version LIKE '%.0' AND event_code LIKE 'CODE1') OR (version LIKE '%.0' AND code LIKE 'CODE2')
GROUP BY id_trunc
ORDER BY id_trunc, version, code
我有使用標準,但只是簡單的東西的先進經驗,在這種情況下,我需要一種方法做投影,分組依據和排序依據。我嘗試了幾次,但我無法使它工作。我到處尋找,但是對於像這樣複雜的查詢,我找不到任何幫助。
這是我到現在爲止
Criterion whereClause = Restrictions.and(Restrictions.like("version","%.%"),
Restrictions.and(Restrictions.not(Restrictions.like("version","%.0")),Restrictions.like("code","CODE1")));
Criterion secondWhere = Restrictions.and(Restrictions.like("Version","%.0"), Restrictions.like("code","CODE2"));
LogicalExpression orWhere= Restrictions.or(whereClause,secondWhere);
criteria.add(orWhere);