5

您如何使用休眠条件编写条件条件。

我需要转换的查询是

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

请在休眠条件中提供if 语句的正确用法。

4

2 回答 2

5

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

如果您使用 NHIbernate

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

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

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

2)或者通过使用HQL。在 HQL 中有一个名为.This 的表达式case when。这可能会有所帮助在 HQL 选择中使用 CASE 语句

于 2013-04-10T08:23:09.477 回答
0

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

于 2013-04-15T19:12:52.873 回答