尝试插入表的两个或多个用户在 Hibernate 中获取唯一约束冲突异常。如何处理任何人都可以帮助我。在此先感谢。
问问题
5633 次
1 回答
3
如果要在具有唯一索引或约束的列中插入具有值的行,并且该列的插入值已存在于另一行中,则始终会出现此错误。这可能是多线程环境中并发访问的问题。
根据问题的来源,有一些解决它的策略:
- 使用生成器(序列或类似)生成唯一 ID。Hibernate 帮助您处理<generator>
标签内的<id>
标签。
- 使用<version>
标签避免对同一实体的并发修改
- 编写一个生成唯一值的方法
- 将部分代码与 Javasynchronized
语句同步
- 使用无状态会话并在异常重试后插入新值
- 更正逻辑错误您的代码
-还有更多...
于 2012-05-09T07:19:43.587 回答