请提供hibernate条件中If语句的示例
如何使用hibernate标准编写条件的条件。
我需要转换的查询是
SELECT date, product, IF(type = 'msrp', amount, 0) price, IF(type != 'msrp', amount, 0) tax FROM productdetail group by date, product;
请在hibernate标准中提供if语句的正确用法。
正如@JBnizet所说, 标准API不支持这一点。 除非你使用NHibernate
如果你使用NHIbernate
Projections.Conditional( Restrictions.EqProperty(..............
但这是我使用Hibernate的可能解决方案。
1)您可以使用相同的查询在这种情况下使用NativeSqlQuery
2)或者通过使用HQL.HQL中有一个表达式,称为case when
。这可能有用在HQL select中使用CASE语句
联合查询的标准解决方法是View表,否则java中有2个条件和逻辑来操作结果。
- 在Hibernate中调用存储过程
- 当两个表具有相同的列名时,NonUniqueDiscoveredSqlAliasException
- 正则表达式疯狂:java.util.regex.Pattern matcher进入高CPU循环
- 是否可以在Hibernate / JPA中动态定义列名?
- 来自多个数据库的Hibernate实体
- Java 9,Hibernate和java.sql / javax.transaction
- BeanFactory未初始化或已关闭 – 之前调用’刷新’
- 如何配置maven hbm2hbmxml和hbm2java在mvn clean install中依次运行
- Hibernate HQL只获取表值?