如何使用休眠标准编写if条件的标准。
我需要转换的查询是
SELECT date, product, IF(type = 'msrp', amount, 0) price,
IF(type != 'msrp', amount, 0) tax FROM productdetail group by date, product;
请在休眠标准中正确使用 if statement 。
答案 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个条件和逻辑来操作结果。