我有类似的东西:
Predicate p = ...;
List<MyObject> objectList = (List<MyObject>) myRepository.findAll(p); // myRepository is autowired
这将获取所有MyObjects的列表,并带有重复项。是否有可能获得 DISTINCT 列表?
我真的需要使用EntityManager和CriteriaBuilder吗?或者只能使用谓词和存储库对象来完成它?
我不是在谈论手动迭代列表并删除重复项,或使用任何Collections API,而是更多关于JPA或QueryDSL API。
答案 0 :(得分:1)
是的,这是可能的。下面是我能想到的简单步骤
在MyObject类中实现hashCode()和equals()。
使用直接构造函数创建一个基于上面列表的集合,该集合将Collection作为参数。