我的应用里有一个OneToMany 需要对返回的Set进行排序,用的annotation方式映射 想请问下
Hibernate annotation 里的 @OrderBy如何使用啊。谁用过麻烦粘个例子看下,谢谢
代码如下。如何对这个Set 排序。新手麻烦解释的通俗些。
@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "document")
public Set getDocitems() {
return this.docitems;
}
public void setDocitems(Set<Docitem> docitems) {
this.docitems = docitems;
}
我的例子。 User 和 Post是一对多的关系。
[code="java"]
@OneToMany(cascade = CascadeType.ALL, mappedBy = "author")
@org.hibernate.annotations.Cascade({org.hibernate.annotations.CascadeType.ALL,org.hibernate.annotations.CascadeType.DELETE_ORPHAN})
@org.hibernate.annotations.OrderBy(clause="title desc")
private List posts = new ArrayList();
[/code]
两个值得注意的问题。
1. 使用list替代Set
2. Orderby中使用属性名称与类中一致。
好好看看这文章