Hibernate:插入时出现NonUniqueObjectException

时间:2014-07-01 15:44:50

标签: java hibernate

尝试使用hibernate插入一个新的实体,它给我这个例外:

a different object with the same identifier value was already associated with the session

我知道这个错误即将发生,因为hibernate在内存中发现了一个类似的对象。但我每次插入前都会创建一个新对象。它与sequence有什么关系吗? 的 HBM

<class name="MyObject" table="My_Object">
    <id column="object_id" name="id" type="long">
        <generator class="sequence">
            <param name="sequence">OBJ_SEQ</param>
        </generator>
    </id>
    <property name="column1" column="column_1" type="string" not-null="true"/>
    <property name="column2" column="column_2" type="string" not-null="true"/>
    <property name="column3" column="column_3" not-null="true" type="string"/>
</class>

1 个答案:

答案 0 :(得分:0)

问题是当您尝试持久化实体时,数据库中已存在具有相同ID的实体。原因可能是,您手动为id分配值,或者您已在数据库中重置OBJ_SEQ。