QueryDSL Hibernate:按交点排序

时间:2013-03-20 17:04:04

标签: hibernate querydsl

我有一个实体编码器有0-n喜欢。 我的查询包括一个名为编码器A的编码器,用于查找所有具有至少一个共同喜好的编码器,按照与A共同喜欢的降序排序。这是迄今为止的样子:

query.from(coder, other)
     .where(
          coder.firstName.toLowerCase().eq(firstName)
          .and(coder.lastName.toLowerCase().eq(lastName))
          .and(other.ne(coder))
          .and(other.likings.any().in(coder.likings))
     )
     .orderBy(coder.likings.???);

有没有办法用QueryDSL来实现指定custon orderby?我在ListPath找不到任何相关内容。如果是这样,我可以使用Guava来计算交点。

提前致谢,

罗尔夫

1 个答案:

答案 0 :(得分:1)

你可以尝试

    .orderBy(coder.likings.size().desc());

如果这不起作用,请尝试使用额外连接和分组显式聚合。