Hibernate:如何修复“实例的标识符从 X 更改为 Y”?

新手上路,请多包涵
org.hibernate.HibernateException: identifier of an instance
of org.cometd.hibernate.User altered from 12 to 3

事实上,我的 user 表确实必须动态更改其值,我的 Java 应用程序是多线程的。任何想法如何解决它?

原文由 gennad 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 657
2 个回答

您是否在某处更改用户对象的主键值?你不应该那样做。检查您的主键映射是否正确。

您的映射 XML 文件或映射注释是什么样的?

原文由 Juha Syrjälä 发布,翻译遵循 CC BY-SA 2.5 许可协议

在修改其 ID 字段之前,您必须从会话中分离您的实体

原文由 Danubian Sailor 发布,翻译遵循 CC BY-SA 2.5 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题