Java Hibernate映射列表-索引

Java Hibernate映射列表-索引,java,hibernate,sqlite,list,indexing,Java,Hibernate,Sqlite,List,Indexing,嗨,我的冬眠有问题。当我试图将列表保存到SQLite数据库时,它在列表中存储的对象ID上崩溃。。。在数据库中,第一个元素的编号为0。列表的第一个元素成功保存,但另一个元素出现错误 现在,netbeans说: 严重:无法将数据库状态与会话同步 org.hibernate.StaleStateException:批处理更新从更新[0]返回意外的行数;实际行数:0;预期:1 现在是我的映射类 带列表 <class dynamic-insert="false" table="users" dyna

嗨,我的冬眠有问题。当我试图将列表保存到SQLite数据库时,它在列表中存储的对象ID上崩溃。。。在数据库中,第一个元素的编号为0。列表的第一个元素成功保存,但另一个元素出现错误

现在,netbeans说:

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

现在是我的映射类

带列表

<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>



我认为您需要将generator类更改为“native”,然后让数据库增加键。

我认为您需要将generator类更改为“native”,然后让数据库增加键。

我希望对您的示例进行更多的解释/上下文…我已经在java 1中映射了两个类。称为用户2。笔记本。这两个都是实体,我试图在用户界面中存储包含少量字符串的Notebook对象列表。问题是,我这样做的话,它在整个数据库中只存储一个笔记本,然后抛出上面的错误。还有一点关于上下文。。。我正在尝试制作软件。。。对于小学,它支持在线访问学校的一些笔记。我希望能对您的示例进行更多的解释/上下文…我已经用java 1映射了2个类。称为用户2。笔记本。这两个都是实体,我试图在用户界面中存储包含少量字符串的Notebook对象列表。问题是,我这样做的话,它在整个数据库中只存储一个笔记本,然后抛出上面的错误。还有一点关于上下文。。。我正在尝试制作软件。。。用于小学,支持在线访问学校的一些笔记