java – 如何从Hibernate Entity到DTO深层复制内部对象?
发布时间:2020-12-15 01:09:15 所属栏目:Java 来源:网络整理
导读:我有实体课 public Class StudentEntity{ private int id; private String name; private AddressEntity address; private ProfileEntity profile; //getter setter}public Class StudentDTO{ private int id; private String name; private AddressDTO addr
我有实体课
当我使用BeanUtils.copyProperties(); (来自spring / apache common)它只复制id和name.如何复制地址和个人资料呢? 如果必须编写custom util,请分享一下代码段吗? 最佳答案
BeanUtils,克隆或序列化在这里不起作用,因为内部数据类型不同.我建议你手动设置StudentDTO的字段.您可以使用AddressDTO和ProfileDTO的转换构造函数.复制构造函数是合法的名称,但由于我们也在转换类型,因此更好的名称将是转换构造函数.
JDK中的转换构造函数的示例是ArrayList(Collection<?extends E> c),即https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html#ArrayList-java.util.Collection-,其从任何Collection对象生成ArrayList并将所有项目从Collection对象复制到新创建的ArrayList对象. 例:
其中包括转换构造函数的AddressDTO(OR ProfileDTO)如下所示:
版画 StudentDTO [id = 1,name = myStudent,address = AddressDTO [city = myCity]] (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |