java - HQL:如何根据映射复合元素的属性对对象列表进行排序

标签 java hibernate sorting hql

我有一个带有组件映射的对象:

<class name="Article" table="articles">
 ...
  <map name="i18nData" table="articles_i18n">
      <key column="id" not-null="true"/>
      <map-key column="language" type="string"/>

      <composite-element class="Article$ArticleI18nData">
        <property name="displayName" type="string"/>
      </composite-element>

    </map>      

</class>

HQL 查询如何检索按映射组件的“displayName”属性排序的所有“文章”对象,并使用键映射,例如'EN'?

谢谢, 克里斯

最佳答案

向 map 元素添加“order-by”属性:

<map name="i18nData" table="articles_i18n" order-by="name asc">
  ..
</map>

属性的值是数据库列名。

参见:

  • Hibernate 文档 - 6.2。集合映射(docs.jboss.org/hibernate/stable/core/reference/en/html/collections-mapping.html)
  • Hibernate 文档 - 6.3.1。排序集合 (docs.jboss.org/hibernate/stable/core/reference/en/html/collections-advancedmappings.html)

抱歉,我是新用户,不允许添加真正的超链接。

关于java - HQL:如何根据映射复合元素的属性对对象列表进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/765821/

相关文章:

java - Spring Boot 使用 Gradle 找不到 spring-boot-starter-dao-jpa 包?

java - 如何在其他正方形的中心内绘制和旋转正方形?

php - 在人类中对 MySQL 进行排序

javascript - 为什么对 javascript 字符串进行排序比对数字排序更快?

c# - 在 C# 中交替排序或重新排序列表

java - 为多个 war 文件配置 tomcat 类路径

java - 将 JSON 导入 Eclipse 项目

java - 使用 hibernate 过滤非原始类型

java - 如何让 Hibernate 拦截器获取某些父类(super class)字段?

java - 为什么 Hibernate 会在我每次运行我的应用程序时插入重复记录?