我使用的是 JPA 2.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;
但是,我希望集合以不区分大小写的方式排序,或者至少根据“名称”属性的小写字母对所有内容进行排序。 JPA可以吗?如果这解决了我的问题,我可以升级我的 JPA 和 Hibernate 版本。
最佳答案
如果您想坚持使用标准 JPA 注释而不使用特定于提供程序 (Hibernate) 的注释,这是不可能的。但是,通过将 TreeSet 与您自己的比较器一起使用,您可以实现相同的行为。
例如:
Set<User> roster = new TreeSet<User>(new MyComparator());
关于hibernate - 是否可以使用 JPA @OrderBy 注释以不区分大小写的方式进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21689415/