【发布时间】:2017-12-21 11:39:45
【问题描述】:
我在数据库中有两个具有一对多关系的表。 当我获取表 User 时,我想将 User 中的数据(以及与 Vehicle 相关的数据)复制到另一个对象 UserDuplicate(和 VehicleDuplicate)。 我尝试使用 BeanUtils.copyProperties 但嵌套引用仍然引用旧对象。 我想知道复制嵌套对象的方法是什么。 谢谢。
import java.util.Set;
public class User {
private Set<Vehicle> vehs = new HasHSet();
public Set<Vehicle> getVehs() {
return vehs;
}
public void setVehs(Set<Vehicle> vehs) {
this.vehs = vehs;
}
}
class Vehicle {
private User user;
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
}
class UserDuplicate {
private Set<VehicleDuplicate> vehDup=new HasHSet();
public Set<VehicleDuplicate> getVehDup() {
return vehDup;
}
public void setVehDup(Set<VehicleDuplicate> vehDup) {
this.vehDup = vehDup;
}
}
class VehicleDuplicate {
private UserDuplicate userDup;
public UserDuplicate getUserDup() {
return userDup;
}
public void setUserDup(UserDuplicate userDup) {
this.userDup = userDup;
}
}
【问题讨论】:
-
我不明白为什么你有 类
VehicleDuplicate和UserDuplicate- 它们与Vehicle和 @987654326 相同 @;他们可以达到什么目的? -
您必须创建一个递归方法来遍历对象的字段并调用克隆方法。此外,每个对象都必须实现/覆盖克隆方法才能做到这一点。 循环遍历 Java 类中的所有字段: stackoverflow.com/a/17095665/1715121
-
我们有一个外部数据摄取到表中,我正在编写一个作业,在适当清理后将数据从一个表复制到另一个表。所以我正在将数据从暂存复制到应用程序表,或多或少相同的架构。