我想在hibernate中使用Criteria API执行算术运算 . SQL是:
SELECT salary + 500 FROM EMPLOYEE;
如何使用Criteria实现这一目标?
我能够使用 Projection
仅检索SALARY列,但之后不确定如何对该执行算术运算:session.createCriteria(Employee.class).setProjection(Projections.projectionList() . add(Projections.property("salary") )
请让我知道这件事 .
问候,
2 回答
你有几种可能性:
创建自己的Projection类,生成"salary + 500" select子句 . 您可以将属性投影用作模板
使用HQL而不是Criteria
不是在查询中执行此操作,而是在Java中执行此操作:您选择工资,通过返回的列表进行评估,并为列表中的每个工资添加500 .
请参阅下面的示例,该示例使用SQL Projections在价格和数量之间查找产品 .
希望能帮助到你 .