1

我有类似的东西:

Predicate p = ...;
List<MyObject> objectList = (List<MyObject>) myRepository.findAll(p); // myRepository is autowired

这将获取所有 MyObjects 的列表,其中包含重复项。是否有可能获得DISTINCT列表?

我真的需要使用 EntityManager 和 CriteriaBuilder 吗?还是可以仅使用谓词和存储库对象来完成?

我不是在谈论手动迭代列表并删除重复项,或使用任何 Collections API,而是更多关于 JPA 或 QueryDSL API 的内容。

4

1 回答 1

1

是的,这是可能的。以下是我能想到的简单步骤

  • 在 MyObject 类中实现 hashCode() 和 equals()。

  • 直接使用它的构造函数根据上面的列表创建一个集合,该构造函数将集合作为参数。

于 2013-08-11T13:13:08.197 回答