gpt4 book ai didi

java - BeanUtils.copyProperties 缺少深度嵌套变量?

转载 作者:行者123 更新时间:2023-12-02 09:14:33 30 4
gpt4 key购买 nike

我正在使用 BeanUtils.copyProperties 将一个对象的全部内容复制到从它继承的另一个对象中。

这里是上下文,从中复制值的域对象包含一组自定义类型 Xref 的对象。该自定义类型有一个嵌入类,其中包含各种类类型的各种字段。

由于某种原因,封装在嵌入对象中的对象的字段之一不会被复制。但我需要的大多数其他内容都被复制了。

举个例子:

class Source {
private Set<Xref> xref;
...
}

class Xref {
...
public static class primaryKey {
...
private MyObj obj;
}
}

class MyObj {
private Integer id;
...
}

如果我尝试使用 BeanUtils.copyProperties 将“Source”对象的内容复制到“SourceExtended”对象中,则使用这些名称 source.xrefs.get(0).getPrimaryKey().getObj() 的值。 getId() 不会被复制。在原始对象中它有一个值,但在目标对象中它是 null...

知道为什么吗???

谢谢。

最佳答案

来自Javadocs :

Note that this method is intended to perform a "shallow copy" of the properties and so complex properties (for example, nested ones) will not be copied.

关于java - BeanUtils.copyProperties 缺少深度嵌套变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/956604/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com