我有一个名为Student
的实体类。
@Table(name="t_student")
class Student{
private String name;
@Column(name="f_name")
private String fatherName;
private Integer age;
// Accessor and Mutators methods ....
}
这是我的SQL
获得特定结果。这很好。
select s.name, s.f_name, case when s.age > 23 and s.age <=30
then 'Eligible' else 'Not Eligible' end is_eligible from t_student s;
在上面的示例中,我拉了3(一个基于case
)。我想将原始SQL迁移到hibernate Criteria
查询,如下所示....
session.createCriteria(Student.class)
.setProjection(Projections.projectionList()
.add(Projections.property("name"))
.add(Projections.property("f_name"))
.add(/**Is there any options to use 'case' here for 'age'?*/)
)
.list();
如何在CASE
中使用Projections
?