0
私は下に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を気にする必要はありませんDBの私の実際のテーブルに おかげ
私は上記のコードで試してみましたが、私の中に入れました。新しい計算値を得ることができません。私のHibernateコードは次のとおりです: 'Query GetStudent = session_hiber.getNamedNativeQuery(" Student.RollNo "); query.setInt(0、101); リスト student_row =(リスト)GetStudent.list(); ' ' session_hiber'は 'sessionFactory'です –
ansh
@ansh実際の問題は何ですか? student_rowは空ですか? getFinalResult()を呼び出すと、Studentがnullでない限り結果が得られます。 – Tom
はい、私は結果を把握していますが、 'roll_no'、' student_name'と 'marks'しか得られませんでした。' final_result'という計算カラムではありません。私はjsonフォーマットでレスポンスを生成しています.-- { " 「roll_no」:101、 「student_name」:「Jon S」、 「marks」:67 } – ansh