在java中,将非空字段和非空字段从一个对象复制到另一个相同类型的对象(对象是相同类型的)
我在项目中使用hibernate、struts和extjs 我有一个包含以下字段的客户对象: 卡斯蒂德, 客户名称, 住址 电话 在UI端的项目中,我得到了一个名为custName的对象客户 所以我需要更新上面的objectcustName是唯一的。我只有一个具有相同客户名称的对象。因此,我将使用数据库中的customername对象获取该对象 现在我必须用更新的客户名称保存对象 若我按如下方式保存,那个么我从UI中得到了Customer对象,即cust Customer cust1=getCustomerByNamecust.getCustName cust.setCustIdcust1.getCustId;savecust 如果我这样做,我会丢失客户地址和电话号码 那么,如何将一个非空或非空字段值的对象复制到同一类型的另一个对象 谁能帮忙吗。我只是呆在这里。它阻止了我去拯救在java中,将非空字段和非空字段从一个对象复制到另一个相同类型的对象(对象是相同类型的),java,hibernate,struts,Java,Hibernate,Struts,我在项目中使用hibernate、struts和extjs 我有一个包含以下字段的客户对象: 卡斯蒂德, 客户名称, 住址 电话 在UI端的项目中,我得到了一个名为custName的对象客户 所以我需要更新上面的objectcustName是唯一的。我只有一个具有相同客户名称的对象。因此,我将使用数据库中的customername对象获取该对象 现在我必须用更新的客户名称保存对象 若我按如下方式保存,那个么我从UI中得到了Customer对象,即cust Customer cust1=getCu
提前谢谢 您混淆了对cust和cust1的引用
除非cust已经有地址,否则在cust上设置custId也不会从cust1复制地址。两个选项。使用反射查找所有字段并复制不为空的字段。或者更好的选择,编写一个更新方法,显式检查每个字段,并根据需要更新数据库实例的字段。一个奇怪的数据模型,其中CustomerName是唯一的,CustomerId将被更新。@radimpe使用客户Id作为内部用途,但我的客户名在我的情况下是唯一的。这不是我刚才给出的唯一性的问题数据模型的示例不是rea。但如何复制呢?每次我都要检查客户名称是否为空或地址是否为空。在这里,数据模型的字段较少。就我而言,它有很多。我不能检查每件事,所以我只想复制非空字段和非空字段。除非我不复制旧值,否则旧值将丢失。@Chinni-但除非您检查,否则您如何知道值是否为空。。。有时候,你只需要吸取教训,写出那些if语句。在这种情况下,反思是需要权衡的。反射具有运行时效率成本,但可以用最少的代码设置任意数量的字段。请编写一个脚本,为您生成代码,并使用if而不是反射。。。