hibernate 4的文档如下:
7.2.2.1。解释
列表可以通过两种不同的方式进行映射:
作为有序列表,其中订单未在数据库中实现
作为索引列表,其中订单在数据库中具体化
要在内存中订购列表,请将@ javax.persistence.OrderBy添加到您的 属性。此批注将逗号分隔的列表作为参数 属性(目标实体)并对集合进行排序 相应的(例如,firstname asc,age desc,weight asc nulls last),if 字符串为空,集合将按主键排序 目标实体。
我不明白这个说明 “要在内存中订购列表,请将@ javax.persistence.OrderBy添加到您的媒体资源”
将使用SQL orderby或我的java应用程序的内存对 DBMS 的内存进行排序吗?
如果我使用简单的一对多关系测试它:(一个用户拥有更多帐户)和这样的片段
@javax.persistence.OrderBy("account-sum ASC, date DESC") //
private Set<Account> accounts= new HashSet<>();
order by 子句将显示在HQL Statement ....
中是否可以在HQL语句的基础上查看生成的SQL? 非常感谢您的帮助: - )
答案 0 :(得分:0)
排序将通过向生成的SQL添加order by
子句来完成,以便数据库处理排序。
可以通过设置hibernate.show_sql
配置属性来配置Hibernate以显示SQL。
See the hibernate documentation for configuring this property.