Hibernate映射列表 - 索引

时间:2012-12-02 22:13:40

标签: java hibernate sqlite list indexing

嗨,我的休眠问题。当我尝试将List保存到SQLite数据库时,它会崩溃存储在列表中的对象的ID ...在数据库中,第一个元素获取数字0.列表的第一个元素成功保存,但另一个元素提供ERROR。

现在netbeans说:

严重:无法将数据库状态与会话同步 org.hibernate.StaleStateException:批量更新从update [0]返回意外的行数;实际行数:0;预期:1 ......

现在我的映射类

WITH LIST

<class dynamic-insert="false" table="users" dynamic-update="false" mutable="true" name="DataClasses.User" optimistic-lock="version" polymorphism="implicit" select-before-update="false">

    <id name="ID" column="ID">
        <generator class="increment" />
    </id>

    <list name="notebooks" outer-join="true" lazy="false" cascade="all" >
        <key column="userID"/>
        <list-index column="ID"/>
        <one-to-many class="DataClasses.Notebook"/>
    </list>

</class>

对象存储在列表中

<class dynamic-insert="true" table="notebooks" dynamic-update="false" mutable="true" name="DataClasses.Notebook" optimistic-lock="version" polymorphism="implicit" select-before-update="false">

    <id name="ID" column="ID">
        <generator class="increment"/>
    </id>

    <property name="name" type="string" />
    <property name="text" type="string" />
    <many-to-one name="subject" lazy="false" outer-join="true" class="DataClasses.Subject" column="subject" cascade="all"/>
    <property name="lastModified"/>       
</class>

1 个答案:

答案 0 :(得分:1)

我认为您需要将生成器类更改为“native” - 然后让数据库增加键。