我使用的是JPA2.0、Hibernate 4.1.0.Final和MySQL 5.5。我想使用@OrderBy注释对我的一个实体…中的一个集合进行排序
@OneToMany(mappedBy = "classroom", cascade = {CascadeType.PERSIST, CascadeType.MERGE, CascadeType.REMOVE}, orphanRemoval=true)
@OrderBy(“name”)
private Set<User> roster;
但是,我希望集合以不区分大小写的方式进行排序,或者至少根据"name“属性的小写对所有内容进行排序。使用JPA可以做到这一点吗?如果这能解决我的问题,我可以升级我的JPA和Hibernate版本。
发布于 2014-02-17 11:01:06
如果您想坚持使用标准的JPA注释,而不使用特定于提供者(Hibernate)的注释,这是不可能的。但是,通过使用带有您自己的比较器的TreeSet,您可以实现相同的行为。
例如:
Set<User> roster = new TreeSet<User>(new MyComparator());
https://stackoverflow.com/questions/21689415
复制相似问题