我有TopicEntity
其中包含许多PostEntity
. 每一个都PostEntity
属于一个TopicEntity
。我需要按最后一个帖子创建日期对主题进行排序,这是creationDate
主题中最新帖子的属性。
我认为需要发生的事情:
- 获取主题
- 加入属于主题的帖子
- 按创建日期对帖子进行排序
- 获取每个主题的最新帖子并使用其日期对主题进行排序
这是我目前拥有的:
this.session.createCriteria(TopicEntity.class, "topic")
.createAlias("topic.posts", "post", CriteriaSpecification.LEFT_JOIN)
.addOrder(Order.asc("post.creationDate")).list();
这不会以任何方式对主题进行排序。我相信这是因为它没有执行列表中的第 3 点和第 4 点。
无论如何,你能提示我达到预期结果的正确方法吗?我更喜欢 Criteria,但如果需要 HQL,那很好。