我有以下存盤庫:
權限庫:
public interface PermissionRepository extends CrudRepository<Permission, Long>,
SearchRepository<Permission> {
}
在我的服務中,我試圖將Permission物體映射到PermissionDTO,但是當findAll()方法回傳Iterable<T>( Iterable<T> findAll();) 時,我無法轉換如下所示,因為我通常用于List<T>. 它為該方法拋出“無法決議'Iterable'中的方法'流' ”錯誤.stream()。
List<PermissionDTO> list = permissionRepository.findAll()
.stream()
.map(PermissionDTO::new)
.collect(Collectors.toList());
那么,如何將此Permission物體映射到PermissionDTO?
uj5u.com熱心網友回復:
有3種方法可以做你想做的事
覆寫findAll并使其回傳一個List
public interface PermissionRepository extends CrudRepository<Permission, Long> {
@Override
List<Permission> findAll();
}
實作JpaRepository而不是CrudRepository.
public interface PermissionRepository extends JpaRepository<Permission, Long>,
SearchRepository<Permission>
轉換Iterable為Stream使用StreamSupport.
StreamSupport.stream(iterable.spliterator(), false).map(PermissionDTO::new)
.collect(Collectors.toList());
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/336739.html
上一篇:按交集合并2個組串列
