1

我有一个 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 来实现指定定制订单?我没有在ListPath. 如果是这样,我可以使用 Guava 来计算交集。

提前致谢,

罗尔夫

4

1 回答 1

1

你可以试试

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

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

于 2013-03-20T18:14:16.803 回答