我是休眠新手,我面临一个奇怪的问题。我正在使用 Hibernate 2.0,并且自过去 2 天以来一直被困在这个问题上。
我有一个有 2 个表格的表格,即。借贷。每个将包含多个条目。每个条目将作为单独的记录存储在表中。两个表中的数据将存储在同一个表中。我已将“ID”字段作为表的主键并将其配置为自动增量。
<id column="ID" name="id">
<generator class="increment"/>
</id>
当我第一次提交时,我将条目存储在工作正常的表中。自动增量在那个时候工作得很好。在更新动作中,由于某些业务逻辑,我从数据库表中删除了与每个表相关的所有条目,并再次输入新记录。问题从这里开始。
我将通过一个示例来解释确切的场景:我有 2 个借方和贷方条目,每个条目的 ID 分别为 1 & 2 和 3 & 4。现在在更新操作中,我首先删除借记记录(即 ID 1 和 2)并提交更改。提交后,我尝试插入新的借记记录集。理想情况下,它应该从表中选择最大 ID 并为新记录生成下一个 ID(即 5 和 6),但它会给出“违反唯一键约束”错误。
有人可以指导这个问题吗?有没有人遇到过类似的问题?任何指针将不胜感激。
问候, 阿希什