当前位置: 首页 > 知识库问答 >
问题:

如何将Iterable映射到它的DTO?

慕朝明
2023-03-14
public interface PermissionRepository extends CrudRepository<Permission, Long>,
        SearchRepository<Permission> {

}

在我的服务中,我试图将permission实体映射到permissiondto,但是由于findAll()方法返回iterable (iterable findAll(); ),我不能像通常用于list 那样进行如下转换。它为.stream()方法抛出“不能在'iterable'中解析方法'stream'”错误。

List<PermissionDTO> list = permissionRepository.findAll()
        .stream()
        .map(PermissionDTO::new)
        .collect(Collectors.toList());

那么,如何将这个permission实体映射到permissiondto

共有1个答案

壤驷德寿
2023-03-14

有3种方法可以做你想做的事

重写FindAll并使其返回列表

public interface PermissionRepository extends CrudRepository<Permission, Long> {
    @Override
    List<Permission> findAll();
}

实现jparepository而不是crudrepository

public interface PermissionRepository extends JpaRepository<Permission, Long>,
    SearchRepository<Permission>
StreamSupport.stream(iterable.spliterator(), false).map(PermissionDTO::new)
    .collect(Collectors.toList());
 类似资料:
  • 我已经用MapStruct 1.1工作了几天,但还没有达到我所需要的。 我想做的是:我想将JPA实体映射到DTO,以便在Primefaces项目中实现更好的属性视图绑定。 所以我有我的实体如下: 病人JAVA 人JAVA 我想把这些实体画成这样: 耐心等待。JAVA 潘松多。JAVA 我编写了Mapper类和一个实用程序,就像GitHub上的官方示例中描述的那样(https://github.co

  • 想改进这个问题吗?通过编辑这篇文章添加细节并澄清问题。 我所拥有的是, 我想要的是, 其中,

  • 我有一个带有域类的Grails项目。这个持久类应该映射到JavaDTO。我在这里发现了一个非常旧的Grails插件,它并没有真正解决这个问题。 是否有一个插件或方法: 注释映射到相应DTO类的域类属性

  • 问题内容: 我想将a存储在列中并保持不变。这两个和是“本地”类型的定义。因此, 时区 的概念不应以任何方式干涉。 下面的代码是一个最小示例,该示例在内存数据库中创建带有列的表。Maven工件必须在类路径中。 首先,定义方法和: 请注意,该方法使用单引号引起来的值,因此Java™没有机会创建时区歧义。现在,一次调用几次,每次使用不同的时区设置: 然后打印以下内容: 假设数据库表未更改,如何编写该方法

  • 对于我的数据模型,它基本上是一个包含父子树的树,Dozer在将字段(使用接口类型作为参数)解释为类并尝试使用构造函数实例化时,遇到了成功映射它们的问题。这导致以下例外情况:; 这是一个相同的类映射,虽然Dozer正确地将源类上的父字段标识为Datawarehouse类型,但由于其父类的模块类上的set方法使用模型接口作为其参数,它似乎试图实例化模型类型,这当然会失败,因为模型是一个没有构造函数的接

  • 问题内容: 我在了解如何实现这一目标方面遇到了问题。 基本上我们有一个API,用户发送以下格式的JSON :(如果代码不完美,请原谅,但您可以理解) 好的,我不确定我是否正确设置了JSON格式,但是现在这是我的问题。 我有一个带有参数Name,Last的类,还有一个作为其成员之一的对象Client和Property Date。 像这样: 因此,基本上,我不确定如何获取JSON,然后将其映射到我的对