这是我的简单情况:
@Entity
@Table(name = "project")
public class Project implements Serializable {
@Id
private Long id;
@OneToMany(mappedBy = "project")
private List<Author> authors;
public List<Author> getAuthors() {
return authors;
}
}
public class DAO {
public void getOrderedAuthorsByProject(Project project) {
return project.getAuthors(); // Line 1
}
}
在第1行中,如何返回作者列表,按作者实体的特定列排序,只需执行get?
感谢。
答案 0 :(得分:2)
如果您要排序的属性是Author中的一个字段(即Authors表中的一列),那么您可以使用@OrderBy:
@OneToMany(mappedBy = "project")
@OrderBy("surname, forename asc")
private List<Author> authors;
如果它是嵌套属性,那么您可以使用(Hibernate specific,non JPA)@Sort
注释来进行内存中的排序。如果Author实体实现了Comparable接口,您可以指定Comparator或指定SortType = NATURAL。