我有以下实体类:
class Provider{
private String providerId;
private String identificationNumber;
private Account account;
// Setters, Getters and toString
}
class Account {
private String name;
private String lastname;
private String email;
// Setters, Getters and toString
}
DTO:
class ProviderDTO{
private String providerId;
private String identificationNumber;
private String accountName;
private String accountLastname;
//Setters, Getters and toString
}
如果我尝试使用(MatchingStrategies.STRICT
)将我的DTO映射到Provider实体:
Provider provider = modelMapper.map(providerDTO,Provider.class);
provider.getAccount().getName()
为null,provider.getAccount().getName()
为null
但如果我使用(MatchingStrategies.STANDARD
):完美的工作....
provider.getAccount().getName()
不为null,provider.getAccount().getName()
不为null
我的问题是:如何命名我的DTO的属性,以便modelmapper在STRICT模式下工作?
我想收到关于严格模式如何工作的解释,因为我没有找到示例,即使在官方模型映射器网站上也是如此。非常感谢!
STRICT匹配策略不支持这种映射(分层 - >扁平或扁平 - >分层)。
请参考这里的文档:matching strategy和STRICT匹配策略的单元测试:StrictMatchingStrategyTest
我创建了一个modelmapper策略的例子并上传到github上。
https://github.com/ishwarlal/ModelMapperExamples
它可以帮助您弄清楚它是如何工作的。