【发布时间】:2021-12-10 18:01:21
【问题描述】:
我有以下存储库:
PermissionRepository:
public interface PermissionRepository extends CrudRepository<Permission, Long>,
SearchRepository<Permission> {
}
在我的服务中,我试图将Permission 实体映射到PermissionDTO,但由于findAll() 方法返回Iterable<T> (Iterable<T> findAll();),我无法转换如下所示,因为我通常用于@987654328 @。它会为 .stream() 方法抛出“Cannot resolve method 'stream' in 'Iterable'”错误。
List<PermissionDTO> list = permissionRepository.findAll()
.stream()
.map(PermissionDTO::new)
.collect(Collectors.toList());
那么,如何将这个Permission 实体映射到PermissionDTO?
【问题讨论】:
-
为什么不呢?
List是Iterable。 -
我猜你正在使用 Spring Data?用
JpaRepository代替CrudRepository怎么样。findAllofJpaRepository返回一个List, -
Convert Iterable to Stream using Java 8 JDK -> 这可能就是你要找的。span>
-
@RobbyCornelissen 它为
.stream()方法抛出“Cannot resolve method 'stream' in 'Iterable'”错误。 -
@magicmn 是的,这似乎是可能的,但如果有其他聪明的解决方案,一开始我不想改变那部分。
标签: java list stream iterator java-stream