Hibernate集合与排序问题

Hibernate集合与排序问题,hibernate,hibernate-criteria,hibernate-annotations,Hibernate,Hibernate Criteria,Hibernate Annotations,在我的实体中,我目前有这样一个映射: private Set<Sth> sths; Hibernate将生成完全相同的sql查询,但这次将对数据进行排序。 所以我的问题是——这是一个bug吗?我正在使用Hibernate3.4 使用OrderBy注释对我来说是可以接受的,但可能我不想总是按照这个属性进行排序,所以我宁愿在条件查询中给出排序指令,而不是在注释中 有什么想法吗?在hibernate的更高版本中,它的工作方式是否相同?阅读 关联甚至可以在运行时使用集合筛选器()按任意条件

在我的实体中,我目前有这样一个映射:

private Set<Sth> sths;
Hibernate将生成完全相同的sql查询,但这次将对数据进行排序。 所以我的问题是——这是一个bug吗?我正在使用Hibernate3.4

使用OrderBy注释对我来说是可以接受的,但可能我不想总是按照这个属性进行排序,所以我宁愿在条件查询中给出排序指令,而不是在注释中

有什么想法吗?在hibernate的更高版本中,它的工作方式是否相同?

阅读

关联甚至可以在运行时使用集合筛选器()按任意条件进行排序:

sortedUsers = s.createFilter( group.getUsers(), "order by this.name" ).list();
其中group.getUsers()是查询的结果


请输入hibernateIt公司生产代码生成的完整查询。但是它看起来像是从第一个实体中选择这个外部连接第二个实体在这个实体上的顺序是按实体的顺序。我看到了。sql查询在两种情况下都是一样的。请看这个链接:也看到这个问题:。我看到了。但问题是,我不想在实体映射中明确地设置排序顺序,而是在条件或hql查询中。是的,但是我必须在以前返回的列表的每个元素上调用它。根据你的例子,我有一个清单。这不是我真正需要的。我需要的是“有可能有条件地打开@OrderBy注释功能”。
sortedUsers = s.createFilter( group.getUsers(), "order by this.name" ).list();