源实体和目标实体在字段命名风格上有所不同(一个是下划线,另一个是驼峰命名法)。 所以,来源:
public class User {
private String first_name;
}
目的地:
public class UserDto {
private String firstName;
}
我有一个任务是通过 ModelMapper 自动转换实体 - 无需处理字段映射(通过 getter-setter)。
为此目的,我尝试按如下方式配置映射器:
ModelMapper modelMapper = new ModelMapper();
modelMapper.getConfiguration()
.setSourceNameTokenizer(NameTokenizers.UNDERSCORE);
但这不起作用
最佳答案
默认情况下,field matching is disabled ,因此您必须更改配置中的标志。由于您的字段是私有(private)的,因此您还必须将它们包含在您的设置中:
modelMapper.getConfiguration()
.setFieldMatchingEnabled(true)
.setFieldAccessLevel(AccessLevel.PRIVATE);
关于java - 使用 ModelMapper 转换实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67987591/