【问题标题】:how to do order-by in hibernate mapping如何在休眠映射中进行排序
【发布时间】:2009-09-02 07:01:32
【问题描述】:

假设对象 A 有一个对象 B 的列表,对象 B 必须有一个对象 C,B 可以根据 C.level 排序。

在 A.hbm.xml 中

<bag name="listB"
             table="T_B"
             inverse="false"
             order-by="?? what should i do here???"
         >
            <key column="ID_A" not-null="true"/>
            <many-to-many column="ID_B" class="B"/>
        </bag>

【问题讨论】:

    标签: hibernate orm sql-order-by


    【解决方案1】:

    order-by 子句应包含用于对项目列表进行排序的 SQL sn-p。如果您的订购标准不在您的示例中的表 T_B 中,那么您可能无法完成您想要的。另一方面,如果 B 包含一个 C 并且它始终是一对一的关系,您可以在数据库中定义一个视图,该视图聚合表并为您提供一个列进行排序。

    【讨论】:

      【解决方案2】:

      我在您的查询中指定了 order-by 吗?没有?

      exp:

      from Document fetch all properties order by name
      

      【讨论】:

      • 感谢您的快速回复..但有时查询不够好....假设我已经得到对象 A...这是您查询中的 Document 对象...我说...document.getProperties()....那么返回值就不会是有序的
      • 那我不得不说对不起。我也不知道怎么设置。在这种情况下,我会使用带有“Collection.sort()”的“Comparable”接口,但是这样我就失去了查询的美感。
      猜你喜欢
      • 1970-01-01
      • 2015-12-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-29
      相关资源
      最近更新 更多