3

我有一个带有组件图的对象:

<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”的键进行映射?

谢谢,克里斯

4

1 回答 1

1

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

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

该属性的值是数据库列名。

看:

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

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

于 2009-05-29T07:22:56.010 回答