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

Bal*_*aji 5 java hibernate hibernate-criteria

如何使用hibernate标准编写条件的条件.

我需要转换的查询是

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

请在休眠标准中提供if语句的正确用法.

Sur*_*tta 5

正如@JBnizet所说,标准API不支持这一点.除非你使用NHibernate

如果您使用NHIbernate

  Projections.Conditional(
         Restrictions.EqProperty(..............
Run Code Online (Sandbox Code Playgroud)

但这是我可能的Hibernate解决方案.

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

2)或者使用HQLcase when.在HQL中有一个表达式,称为.这可能会有帮助在HQL中使用CASE语句选择