如何在HQL中编写内联查询

时间:2012-09-26 05:25:00

标签: 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 in ('xxx','yyy') AND time >= 135689 AND time <= 137692) AS TBL

当我尝试在HQL中复制上述查询时,我得到了:

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

1 个答案:

答案 0 :(得分:0)

尝试使用分离的条件,并使用corelated子查询将其与主要条件连接,然后在实体中的字段上使用公式来实现此目的。 Hibernate没有像你那样提供内联查询支持。