Я использую Springboot , я хочу отобразить отношения OneTomany от родителя к ребенку. Непосредственно с использованием Entity с помощью Eager Fetching I получаю рекурсивные записи, поэтому, пытаясь использовать ModelMapper для DTO отображение для Entity , но я не могу выяснить, как это сделать. Пожалуйста, предположим, что getters и setters .
pparent.java
@Entity
public class Parent {
@Id
private int parentId;
private String a;
@OneToMany(mappedBy = "parent")
private Set child;
< /code>
child.java
@Entity
public class Child {
@Id
private int childId;
private String c;
@ManyToOne
@JoinColumn(name = "b")
private Parent parent;
< /code>
У меня есть рабочий репозиторий и ServiceLayer с методом Findall < /code>. < /p>
pparentdto.java
public class ParentDto {
private String a;
private Set child;
< /code>
pparentController.java
@RestController
public class ParentController {
@Autowired
private ModelMapper modelMapper;
@Autowired
private ParentService parentService;
@RequestMapping(method = RequestMethod.GET, value="/parents" )
public List
getParents() {
List parents = parentService.getAll();
return parents.stream()
.map(x-> modelMapper.map(x, ParentDto.class))
.collect(Collectors.toList());
}
}
ошибка: , пытаясь получить http: // localhost: 8080/родители
.
.
ModelMapper mapping errors: 1) Converter org.modelmapper.internal.converter.CollectionConverter@51381583 failed to convert java.util.Set to java.util.Set. 1 error
org.modelmapper.MappingException: ModelMapper mapping errors:
1) Converter org.modelmapper.internal.converter.CollectionConverter@51381583 failed to convert java.util.Set to java.util.Set.
1 error
at org.modelmapper.internal.Errors.throwMappingExceptionIfErrorsExist(Errors.java:380)
at org.modelmapper.internal.MappingEngineImpl.map(MappingEngineImpl.java:80)
.
.
Подробнее здесь: https://stackoverflow.com/questions/565 ... odelmapper