将实体转换为dto需要花费大量时间。 因为实体有很多关系。所以子表数据被分配给dto属性。 有没有最好的方法来做到这一点.. 我也经历过模型映射器..但是模型映射器将直接实体映射到dto属性。它不能将子表数据映射到dto。
答案 0 :(得分:1)
但是模型映射器将实体映射到dto属性。它不能将子表数据映射到dto。
您可以使用ModelMapper。它也映射了孩子。
每个例子,这都有效:
GrandchildEntity grandchildEntity = new GrandchildEntity(13);
ChildEntity childEntity = new ChildEntity("Child Name", grandchildEntity);
ParentEntity parentEntity = new ParentEntity("Parent Name", "Parent Address", childEntity);
ParentDto parentDto = new ModelMapper().map(parentEntity, ParentDto.class);
ParentDto
让ChildDto
和ChildDto
拥有GrandchildDto
,所有这些都具有相同的实体字段名称。在调用map
方法后,所有字段都在Dtos上正确填充。
您可以将ModelMapper
配置为使用反射,但默认情况下,您需要一个空构造函数和Dto上每个字段的set
方法。在实体中,每个字段都需要get
方法。