【问题标题】:how do i reinsert a deleted record with auto incremented id in hibernate javajava - 如何在hibernate java中重新插入具有自动递增ID的已删除记录
【发布时间】:2016-05-05 20:40:32
【问题描述】:
Contact contact7 = new Contact(7,"Jobs", "jobsatapplet.com", "CoffeeBeans", "0123456789");
contact7.setId(7);
//session.update(contact7);

Contact contact8 = (Contact)session.load(Contact.class, new Integer(7));
contact8 = new Contact(7,"Jobs", "javaatapplet.com", "Cupertino", "0123456789");
session.save(contact7);

// commits the transaction and closes the session
session.getTransaction().commit();
session.close();

这是我的代码,它不是重新插入记录 7,而是插入一条新记录,该记录会增加具有重复值的记录数。

【问题讨论】:

  • 欢迎来到 SO。您不能使用相同的主键再次插入记录。请描述你真正想做的事情,因为你的代码看起来很乱。
  • 我不知道您的 ORM 是如何工作的,但看起来您需要更改现有的 Contract 对象而不是创建一个新对象。
  • 我删除了表中的记录 7 和 8,并想再次插入它们,但似乎做不到
  • 我尝试更新它,但它不起作用

标签: java mysql hibernate mysql-workbench


【解决方案1】:

我不确定您要做什么,但如果是更新现有记录,您可以这样做:

Contact c = (Contact)session.load(Contact.class, new Integer(7));
c.setLocation("Cupertino");
session.getTransaction().commit();
session.close();

如果你的 Contact 类有一个setLocation() 方法。如果没有映射和类文件,我就不能更精确了。

【讨论】:

    猜你喜欢
    • 2018-12-14
    • 1970-01-01
    • 2012-06-08
    • 2020-02-27
    • 2017-04-02
    • 2011-11-14
    • 1970-01-01
    • 1970-01-01
    • 2019-06-23
    相关资源
    最近更新 更多