为什么你不实体类
@OrderBy使用@OrderBy注释
动态排序可以用做@ OrderBy注释。 “动态”意味着集合元素的排序在检索关联时进行。
@Entity
public class Comment {
@Id @GeneratedValue
private Long id;
private String nickname;
private String content;
private Integer note;
@Column(name = "posted_date")
@Temporal(TemporalType.TIMESTAMP)
private Date postedDate;
// Constructors, getters, setters
}
列表3-54。一个新闻实体的评论是由递减发布日期排序
@Entity
public class News {
@Id @GeneratedValue
private Long id;
@Column(nullable = false)
private String content;
@OneToMany(fetch = FetchType.EAGER)
@OrderBy("postedDate DESC")
private List<Comment> comments;
// Constructors, getters, setters
}
的@OrderBy注释作为参数上的排序要作出(在postedDate属性)属性的名称,以及该方法(上升或下降)。
字符串ASC r DESC可以分别用于升序或降序排序。
您可以在@OrderBy批注中使用多个列。如果您需要通过发布日期和备注进行订购,则可以使用OrderBy(“PostedDate DESC,note ASC”)。
@OrderBy注释对数据库映射没有任何影响。 持久性提供者只需在检索集合时通知使用order by子句。
有趣的做法,我会尝试。谢谢 – igx 2014-09-12 05:59:18