如何解决具有相关名称的 ModelMapper 属性字段,以驼峰命名
在带有驼峰式大小写部分的源字段中转换具有源属性名称内容的实体时出错
示例:在源模型中,我有一个字符串字段 edgeId,而在目标模型中,我有一个字段 Long id,匹配为真。这会产生一个异常,java.lang.NumberFormatException,如何忽略这个匹配。
这是其他属性名称发生的情况
package br.com.combinado;
import org.modelmapper.ModelMapper;
public class TestModelMapper {
public static void main(String[] args) {
Target target = new Target();
target.setTesteBatataFrita("batataFrinta");
ModelMapper mapper = new ModelMapper();
Source source = mapper.map(target,Source.class);
System.out.println(source);
}
private static class Source {
private Long frita;
public Long getFrita() {
return frita;
}
public void setFrita(Long frita) {
this.frita = frita;
}
}
private static class Target {
private String testeBatataFrita;
public String getTesteBatataFrita() {
return testeBatataFrita;
}
public void setTesteBatataFrita(String testeBatataFrita) {
this.testeBatataFrita = testeBatataFrita;
}
}
}
解决方法
我通过添加一个 SourceNameTokenizer 来解决
AsQueryable()
或
mapper.getConfiguration().setSourceNameTokenizer(new NameTokenizer() {
public String[] tokenize(String name,NameableType nameableType) {
return new String[] { name };
}
});
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。