当前位置: 首页 > 知识库问答 >
问题:

插入新记录时已分离的实体传递给持久错误

高豪
2023-03-14

我尽力解释了这个问题,如果你需要更多的信息,请告诉我。

@Id
    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator="EMP_SERIAL_GERERATOR")
    @SequenceGenerator(name="EMP_SERIAL_GERERATOR", sequenceName="EMP_SERIAL",  allocationSize=1)
    @Column(name="EMP_SERIAL", nullable=false, precision=9)
    private long empSerial;



try {
            em.persist(EmphistNew);
        } catch (Exception e) {
            throw e;
        }

共有1个答案

羊丰茂
2023-03-14

没有看到整个代码就很难说什么。但有一个例外是非常自我描述的:

detached entity passed to persist: com.company.dep.project.model.emphist

因此,在调用persist()时已经分配了ID字段,这是不允许的。如果对象存在,则需要调用merge()来修改其状态。或者您需要找到ID字段在代码中设置的位置。

 类似资料:
  • 问题内容: 我已经成功用hibernate写了我的第一个主要的孩子例子。几天后,我再次使用它并升级了一些库。不知道我做了什么,但是我再也无法使它运行了。有人可以帮助我找出返回以下错误消息的代码中的错误吗: hibernate映射: 编辑: InvoiceManager.java 发票.java InvoiceItem.java 编辑: 从客户端发送的JSON对象: 编辑: 一些详细信息: 我试图通

  • 这个网站上没有一个类似的问题能够解决我的问题。 错误:org.hibernate.persistentobjectexception:传递给persist:healthcheckapi.model.checks的分离实体 示例JSON健康对象: 请注意,这两个对象的ID都是自动生成的,我认为这是问题的一部分。

  • 问题内容: 结合使用JPA和Hibernate,运行以下代码时出现异常。第一次运行它时,一切正常,数据已插入数据库中。第二次,当应更新数据时,它失败: boutiqueDao.persist()只需调用EntityManager.persist()方法。 这是我的精品班: 最后,我的堆栈跟踪: 我正在Tomcat 7.0.32服务器上运行Java 7.0.11。 任何的想法? 问题答案: 用于全新

  • 我有一个实体,它已经持久化,并希望将其添加到新生成的父实体(尚未持久化)。如果我尝试持久化父级,我会得到错误“分离的实体传递到持久化:model.child”。我想我必须以某种方式为孩子调用“EntityManager.merge()”,而不是“EntityManager.persisted()”。但是我没有显式调用persisted。这由“cascade=cascadetype.all”注释处理

  • 问题内容: 我正在创建一个简单的应用程序,只需使用将一行插入到表中(如果表不存在,则创建它)。 我为它的一个可运行示例附加了一些代码。 这是我得到的异常和stacktrace: 这是我的代码: 主班: 和Person类: 这是我的persistence.xml文件 -----------------------编辑-------------------------- – 我只是将提供程序更改为Ec