请提供hibernate条件中If语句的示例

时间:2013-04-05 05:28:00

标签: java hibernate hibernate-criteria

如何使用休眠标准编写if条件的标准。

我需要转换的查询是

SELECT date, product, IF(type = 'msrp', amount, 0) price, 
     IF(type != 'msrp', amount, 0) tax FROM productdetail group by date, product;

请在休眠标准中正确使用 if statement

2 个答案:

答案 0 :(得分:5)

正如@JBnizet所说,标准API不支持。,除非您使用的是NHibernate

如果您使用NHIbernate

  Projections.Conditional(
         Restrictions.EqProperty(..............

但是这是Hibernate的可能解决方案。

1)您可以使用相同的查询在这种情况下使用NativeSqlQuery

2)或者使用HQL。有一个名为case when的{​​{3}}。这可能会有所帮助expression in HQL

答案 1 :(得分:0)

联合查询的标准解决方法是View表,否则java中有2个条件和逻辑来操作结果。