java - Order by not working for child objects in Hibernate -
i want retrieve child objects sorted on particular column.
have parent class student
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 ; } and child class phone
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; } i fetching student object in turns gives me list of phone nos. , want phone nos sorted based on column updatetmstp wrote this
student stu = (student)session.createcriteria(student.class) .createalias("studentphonenumbers", "st").addorder(order.desc("st.updatetmstp")).uniqueresult(); but not working. can me. did wrong?
under studentphonenumbers place orderby annotation , on query use join fetch bring phones eagerly.
be aware means fecth on studentphonenumbers allways generate select ... order by. if that's not want suggest sort collection in code after results.
Comments
Post a Comment