当前位置: 首页 > 面试题库 >

Hibernate将对象值复制到具有新生成的ID的新对象中

徐柏
2023-03-14
问题内容

我正在使用一个带有一些嵌套表的单列pk的关系数据库。我需要在项目中添加简单的存档。归档仅在应用程序达到特定状态时发生,因此我希望做的就是将现有的hibernate对象复制到新实例中,在使用新ID保存新实例的同时,保持原有对象不变。我似乎无法弄清楚如何在无需手动设置每个新实例字段的情况下将现有对象复制到新实例中。有人知道这样做的简单方法吗?


问题答案:

我也在与Hibernate合作,并且得到了与您相同的要求。我遵循的是实施Cloneable。下面是如何执行此操作的代码示例。

class Person implements Cloneable {

        private String firstName;
        private String lastName;

        public Object clone() {

            Person obj = new Person();
            obj.setFirstName(this.firstName);
            obj.setLastName(this.lastName);

            return obj;
        }

        public String getFirstName() {
            return firstName;
        }

        public void setFirstName(String firstName) {
            this.firstName = firstName;
        }

        public String getLastName() {
            return lastName;
        }

        public void setLastName(String lastName) {
            this.lastName = lastName;
        }
    }

或者,您可以使用基于反射的解决方案,但我不建议您这样做。检查此网站以获取更多详细信息。



 类似资料:
  • 问题内容: 我正在使用一个带有一些嵌套表的单列pk的关系数据库。我需要在项目中添加简单的存档。归档仅在应用程序达到特定状态时发生,因此我希望做的是将现有的休眠对象复制到新实例中,在使用新ID保存新实例的同时,保持原有对象不变。我似乎无法弄清楚如何在无需手动设置每个新实例字段的情况下将现有对象复制到新实例中。有人知道这样做的简单方法吗? 问题答案: 我也在与Hibernate合作,并且得到了与您相同

  • 问题内容: 我有几个Javascript原型。最初,实例将仅填写ID,并带有一些其他数据的通用占位符信息。然后,我使用ID和对象类型(使用jQuery的AJAX函数)向服务器发送一条消息,然后服务器返回一个JSON对象,其中包含所有缺少的信息(但没有ID)。返回的对象中的变量与现有对象中的变量名称完全相同。 将其转移到现有的空对象中最简单的方法是什么?我想出了几种选择 将对象设置为等于返回的对象,

  • 我有几个Javascript原型。最初,实例将只填写ID,并为其他数据提供一些通用的位置持有者信息。然后,我将带有ID和对象类型的消息发送给服务器(使用jQuery的AJAX函数),服务器返回一个JSON对象,其中包含所有丢失的信息(但没有ID)。返回对象中的变量与现有对象中的变量具有完全相同的名称。 把它转移到现有空对象中最简单的方法是什么?我想出了几个选择 null

  • 是否可以使用更新对象的属性? 类似于: 我试过: 还有这个: 第一个会导致语法错误,而第二个则什么也不做。有什么想法吗?

  • 我想检查一个对象是否有新的子对象。我的意思是我有一个带有x嵌套对象的对象,但是如果主对象有新对象,我会检查它。有什么现有的解决方案来检查这个问题吗? 我的目标是如果对象有新项目,则调用函数。每次数组更改时,此代码都会调用该函数。也当一些项目被删除。这部分功能是错误的。有办法修好它吗?

  • 我有一个通过Morphia库连接到MongoDB数据库的java应用程序。我存储在数据库中的POJO具有名为_id的字符串字段,并使用@id注释(com.google.code.morphia.annotations.id;)进行注释。 正如所见,这两个条目具有相同的_ID,但具有不同的表示形式。一个将其作为对象,另一个作为字符串。通常我应该只有一个条目,不是吗?