特定の列でソートされた子オブジェクトを取得したいと考えています。
私は親クラスの学生を持っています
public class Student {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
@Column(name="STUDENT_ID")
private long studentId;
@Column(name="STUDENT_NAME")
private String studentName;
@OneToMany(mappedBy="student")
private List<Phone> studentPhoneNumbers ;
}
および子クラスの電話
public class Phone {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
@Column(name="PHONE_ID")
private long phoneId;
@Column(name="PHONE_NO")
private String phoneNumber;
@Column(name ="UPDATE_TMSTP")
private Date updateTmstp;
@ManyToOne
@JoinColumn(name = "STUDENT_ID")
private Student student;
}
電話番号のリストを取得する Student オブジェクトを取得しています。そして、これらの電話番号を列に基づいてソートしたいのでupdateTmstp
、これを書きました
Student stu = (Student)session.createCriteria(Student.class)
.createAlias("studentPhoneNumbers", "st").addOrder(Order.desc("st.updateTmstp")).uniqueResult();
しかし、それは機能していません。誰かが私を助けることができます。私は何か間違ったことをしましたか?