Hibernate 如何在HQL中编写内联查询

Hibernate 如何在HQL中编写内联查询,hibernate,hql,Hibernate,Hql,如何在HQL中编写此查询 SELECT CASE WHEN data1 > data2 THEN data1 ELSE data2 END AS data, STAMP FROM (SELECT STAMP, max(mc.data1) as data1, max(mc.data2) as data2 FROM transaction_history mc LEFT JOIN orderdetails gc on mc.id = gc.id where gc.order_name i

如何在HQL中编写此查询

SELECT CASE WHEN data1 > data2 THEN data1 ELSE data2 END AS data, STAMP FROM 
(SELECT STAMP, max(mc.data1) as data1, max(mc.data2) as data2 FROM 
transaction_history mc LEFT JOIN orderdetails gc on mc.id = gc.id where 
gc.order_name in ('xxx','yyy') AND time >= 135689 AND time <= 137692) AS TBL

尝试使用分离的条件,并使用相关子查询将其与主条件连接起来,然后在实体中的字段上使用公式来实现这一点。Hibernate没有像您这样的内联查询支持

org.hibernate.hql.ast.QuerySyntaxException exception saying unexpected token "(".