JAVA::将List object1复制到List object2,其中两个对象具有相同的变量

JAVA::将List object1复制到List object2,其中两个对象具有相同的变量,java,hibernate,collections,Java,Hibernate,Collections,我正在尝试将object1列表中的所有对象复制到object2列表中: 下面是我的代码片段: List<EmployeeAmManegmentModel> am = employee.amEmployeeDeatails(); List<EmployeeRmManegmentModel> rm = employee.rmEmployeeDeatails(); List<EmployeeGenericModel> GM = new ArrayList<

我正在尝试将object1列表中的所有对象复制到object2列表中:

下面是我的代码片段:

List<EmployeeAmManegmentModel> am = employee.amEmployeeDeatails();
List<EmployeeRmManegmentModel> rm = employee.rmEmployeeDeatails();  
List<EmployeeGenericModel> GM = new ArrayList<>();
EmployeerMMagmentModel

@Id
@GeneratedValue
@Column(name = "RM_ID")
private Long id;

@Column(name = "NAME")
private String name;

@Column(name = "CONTACT_NUMBER")
private Long contactNumber;

@Column(name = "EMAIL_ID")
private String emailId;

@Column(name = "STATUS")
private Long status;

@Column(name = "EMPLOYEE_TYPE")
public  String employeeType = "RM"; 
雇员通用模型

private Long id;
private String name;
private Long contactNumber;
private String emailId;
private Long status;
private String employeeType;
有没有办法将结果从一个不同对象类型的列表复制到另一个列表


提前感谢。

不完全确定这与Hibernate有什么关系。您有Hibernate实体,但将属性从一个类的对象复制到另一个类的对象不会影响Hibernate

没有完全自动的方法可以做到这一点。但是,有一些库用于将不同类的对象相互映射


其中一个具有非常全面的映射功能的库是

如果EmployeeAmmengement和EmployeerManagement模型是同一个类,并且还有一些方法,那么您可以从这两个类中使用ExtendeEmployeeGenericModel

但您可以通过从AM或RM类创建映射器来实现这一点

public class EmployeeAmManegmentModel {
  public EmployeeAmMenegementModel(EmployeeGenericModel egm){
    this.id = egm.id;
    this.name = egm.name;
    //dst
  }
}

谢谢

如果我正确理解您的任务,您可以做如下操作:

    Gson gson = new Gson();
    List<EmployeeGenericModel> GM = am.stream()
                    .map(x -> gson.fromJson(gson.toJson(x), EmployeeGenericModel.class))
                    .collect(Collectors.toList());

    GM.addAll(rm.stream()
                    .map(x -> gson.fromJson(gson.toJson(x), EmployeeGenericModel.class))
                    .collect(Collectors.toList());
Gson-Gson=new-Gson();
List GM=am.stream()
.map(x->gson.fromJson(gson.toJson(x),EmployeeGenericModel.class))
.collect(Collectors.toList());
GM.addAll(rm.stream()
.map(x->gson.fromJson(gson.toJson(x),EmployeeGenericModel.class))
.collect(Collectors.toList());

Java中有两个BeanUtils.copyProperties(参数1、参数2)

一个是
org.apache.commons.beanutils.beanutils.copyProperties(对象dest,对象orig)

另一个是
org.springframework.beans.BeanUtils.copyProperties(对象源、对象目标)

    Gson gson = new Gson();
    List<EmployeeGenericModel> GM = am.stream()
                    .map(x -> gson.fromJson(gson.toJson(x), EmployeeGenericModel.class))
                    .collect(Collectors.toList());

    GM.addAll(rm.stream()
                    .map(x -> gson.fromJson(gson.toJson(x), EmployeeGenericModel.class))
                    .collect(Collectors.toList());