我有一个带有组件映射的对象:
<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/