java在Hibernate Where子句中如何使用CASE
请举例说明在HQL中使用CASE WHEN
我在代码中使用了以下查询
int receiptNumber = 100;
String hql = "SELECT b FROM OOPExtract as b "
+"WHERE "
+" b.tranStatId =" +receiptNumber+ " AND "
+" b.orderType IN ('EMERGENCY', 'PLENARY', 'PETITION','EXTENSION','MOTION') AND "
+" CASE WHEN b.orderType == 'MOTION' " `enter code here`
+ "THEN "
+" b.status = 'MOTION_SIGNED' "
+" ELSE "
+" b.status LIKE '%%' "
+" END "
+" ORDER BY b.oopExtractId DESC";
但当它运行时,会生成以下异常
org.hibernate.hql.ast.QuerySyntaxException: unexpected token: = .....
# 1 楼答案
这一款同样适用于Hibernate 4/JPA和Spring 4
# 2 楼答案
我在一个工作项目中使用了以下查询。可以将其用作模板:)
# 3 楼答案
请试试这个。希望能成功