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

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

邓欣可
2023-03-14
问题内容

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

  • 问题内容: 在合理的时间内从数据库中完全加载非常复杂的对象以及合理的查询数量时,我遇到了问题。 我的对象有很多嵌入式实体,每个实体都引用了另一个实体,另一个实体又引用了另一个,依此类推(因此,嵌套级别为6) 因此,我创建了示例来演示我想要的内容:https : //github.com/gladorange/hibernate-lazy- loading 我有用户。 用户有喜欢的 橙子,苹果,葡萄

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

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

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

  • 问题内容: 任何人都知道一些有关如何为hibernate创建自定义ID生成器的好教程吗? 问题答案: 在Google上粗略搜索“hibernate自定义ID生成器教程”,发现了以下可能性。我排除了那些看起来没有用的内容,并总结了它们的内容。 http://www.devx.com/Java/Article/30396-涵盖了在数据保留之前生成ID(因此还没有业务密钥)的问题。 http://doc