同一实体中Hibernate中的java计算列
作为实体类学生,我在下面的实体类中有roll_no
,student_name
,marks
列:
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Table(name = "student")
public class Student{
@Id
private int roll_no;
private String student_name;
private int marks;
public int getRoll_no() {
return roll_no;
}
public void setRoll_no(int levelid) {
this.roll_no = roll_no;
}
public String getStudent_name() {
return student_name;
}
public void setStudent_name(String student_name) {
this.student_name = student_name;
}
public int getMarks() {
return marks;
}
public void setMarks(int marks) {
this.marks= marks;
}
}
我想执行一个NamedQuery,比如:
select *, (case when marks > 35 then 'Pass' else 'Fail' end) as final_result from student
如何在实体类中添加新的计算列final_result
。
我不想把它添加到DB中的实际表中
谢谢
# 1 楼答案
你不需要打扰数据库,做一个getter:
编辑:
如果需要finalResult作为json解析器的字段,请尝试以下操作:
@Transient
注释防止字段持久化,并且@PostLoad
确保在从jpa加载实体后设置字段