我们使用 JPA 实体来获取数据库行,然后当我们将其传输到外部时,我们想要使用断开连接的对象 (DTO),它是用 JAX-B 注释的简单 bean。
我们使用映射器,它的代码如下所示:
public BillDTO map(BillEntity source, BillDTO target) {
BeanUtils.copyProperties(source, target);
return target;
}
但是当代码运行时,我们会收到如下错误:
java.lang.IllegalArgumentException: argument type mismatch
注意这是 BeanUtils 的 Spring 实现:
import org.springframework.beans.BeanUtils
并且属性的命名是相同的(使用它们的 getter/setter)。
有人知道为什么会发生错误吗?
以及如何使用一种快速的方法而不是一个一个地复制属性?