加入前订购第二张桌子

时间:2013-04-19 21:20:57

标签: hibernate join criteria

我有TopicEntity,其中包含许多PostEntity。每个PostEntity只属于一个TopicEntity。我需要按照上一个帖子创建日期对主题进行排序,即主题中最新帖子的creationDate属性。

我认为需要发生的事情:

  1. 获取主题
  2. 加入属于主题的帖子
  3. 按照创建日期对帖子进行排序
  4. 从每个主题获取最新帖子并使用其日期对主题进行排序
  5. 这就是我目前的情况:

    this.session.createCriteria(TopicEntity.class, "topic")
        .createAlias("topic.posts", "post", CriteriaSpecification.LEFT_JOIN)
        .addOrder(Order.asc("post.creationDate")).list();
    

    这不会以任何方式对主题进行排序。我相信这是因为它不会从列表中执行第3点和第4点。

    无论如何,你能否告诉我实现理想结果的正确方法?我更喜欢Criteria,但如果需要HQL,那很好。

0 个答案:

没有答案