Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何转换集合<;BookDto>;设置<;书籍>;春靴_Java_Spring_Postgresql_Spring Data Jpa_Dto - Fatal编程技术网

Java 如何转换集合<;BookDto>;设置<;书籍>;春靴

Java 如何转换集合<;BookDto>;设置<;书籍>;春靴,java,spring,postgresql,spring-data-jpa,dto,Java,Spring,Postgresql,Spring Data Jpa,Dto,我怎样才能做到这一点?或者我应该直接使用book模型而不是bookdto来处理这些事情吗?最佳做法是什么 Spring Boot拥有beancom.fasterxml.jackson.databind.ObjectMapper 你可以直接注射。最好通过组件构造函数。或者只是举个例子 之后有两种方法。您可以映射整个流: Set<Book> books = bookDtoSet.stream().map(i -> objectMapper.convertValue(i, Bo

我怎样才能做到这一点?或者我应该直接使用book模型而不是bookdto来处理这些事情吗?最佳做法是什么


Spring Boot拥有bean
com.fasterxml.jackson.databind.ObjectMapper

你可以直接注射。最好通过组件构造函数。或者只是举个例子

之后有两种方法。您可以映射整个流:

   Set<Book> books = bookDtoSet.stream().map(i -> objectMapper.convertValue(i, Book.class)).collect(Collectors.toSet());
    
Set books=bookDtoSet.stream().map(i->objectMapper.convertValue(i,Book.class)).collect(Collectors.toSet());
或者使用这种方法:

   Set<Book> books = objectMapper.convertValue(bookDtoSet, new TypeReference<Set<Book>>() { });
Set books=objectMapper.convertValue(bookDtoSet,new TypeReference(){});
只要字段的名称和类型相似,这两种方法都可以使用