说,我有一个实体,它有一个集合的操作历史。我想按最新操作的日期对实体进行排序(这是历史的第一个元素)。
我想做这样的事情:
criteria.addOrder(Order("history[0].date"))
这可能吗?
说,我有一个实体,它有一个集合的操作历史。我想按最新操作的日期对实体进行排序(这是历史的第一个元素)。
我想做这样的事情:
criteria.addOrder(Order("history[0].date"))
这可能吗?
根本不可能。
您的历史数据在另一个表中,要按此关系排序,您将需要更复杂的标准,至少涉及到另一个表的某种连接,我怀疑可能是别名。
发布您的课程的映射,我们可能会提示如何执行此操作。
据我所知,Criteria 仅支持按映射属性排序,因此也许将上次修改日期映射为计算属性(使用property tag 的 formula 属性)就可以了。
当然,这很丑陋,但由于到目前为止没有人发布更好的方法......
编辑:查询也可能表现不佳,也许将其作为冗余列添加到您的实体表是一个更好的选择。