1

如何在 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 "(".
4

1 回答 1

0

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

于 2012-09-26T22:15:08.653 回答