//学生 public class User { private Integer uid; //用户名 private String username; //注册时间 private Date regDate; //课程列表 @OneToMany(cascade=CascadeType.REFRESH) @JoinColumn(name="user_id") private List<Course> clist = new ArrayList<Course>(); } //课程 class Course { private Integer cid; //课程 private String coursename; //分数 private Integer score; @ManyToOne(cascade = CascadeType.REFRESH) @JoinColumn(name="user_id") private User user; } 学生和课程是一对多的关系 现在要查询总分数在400到500(400<=x<=500)的用户按注册时间desc排序,且要分页 求思路? |
|
20分 |
String hql=”select c.user from Course c where c.score>400 and c.scroe<500 order by desc”;
session.createQuery(hql).setFirstResult(xx).setMaxResults(xx).list(); setFirstResult是从第几条开始,setMaxResults是每次取几条,和mysql的limit的两个参数类似。 |
你好,可能是我没有说明白 是每个学生的总分数在400 -500之间,不是每个课程的分数在400-500 |