如何在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 "(".
答案 0 :(得分:0)
尝试使用分离的条件,并使用corelated子查询将其与主要条件连接,然后在实体中的字段上使用公式来实现此目的。 Hibernate没有像你那样提供内联查询支持。