Hibernate文档:@OrderBy - 它是否在内存中排序?

时间:2013-06-05 08:30:27

标签: hibernate sql-order-by hql

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? 非常感谢您的帮助: - )

1 个答案:

答案 0 :(得分:0)

排序将通过向生成的SQL添加order by子句来完成,以便数据库处理排序。

可以通过设置hibernate.show_sql配置属性来配置Hibernate以显示SQL。

See the hibernate documentation for configuring this property.