【问题标题】:How do i create a Hibernate Criteria to order by some properties of collection我如何创建一个 Hibernate Criteria 以按集合的某些属性排序
【发布时间】:2010-02-19 12:55:50
【问题描述】:

说,我有一个实体,它有一个集合的操作历史。我想按最新操作的日期对实体进行排序(这是历史的第一个元素)。

我想做这样的事情:

criteria.addOrder(Order("history[0].date"))

这可能吗?

【问题讨论】:

    标签: java hibernate orm detachedcriteria hibernate-criteria


    【解决方案1】:

    据我所知,Criteria 仅支持按映射属性排序,因此也许将上次修改日期映射为计算属性(使用 formula attribute of the property tag)可以解决问题。

    当然,这很丑陋,但由于到目前为止没有人发布更好的方法......

    编辑:查询也可能表现不佳,也许将其作为冗余列添加到您的实体表中是一个更好的选择。

    【讨论】:

      【解决方案2】:

      完全不可能。

      您的历史数据在另一个表中,要按此关系排序,您将需要更复杂的标准,至少涉及到其他表的某种连接,我怀疑可能是别名。

      发布您的班级的映射,我们或许可以给出如何做到这一点的提示。

      【讨论】:

        猜你喜欢
        • 2010-11-18
        • 2011-08-31
        • 2012-01-29
        • 1970-01-01
        • 2015-03-03
        • 2020-09-02
        • 2021-09-23
        • 2015-02-05
        • 1970-01-01
        相关资源
        最近更新 更多