Hibernate:无法将数据库状态与会话同步

Hibernate:无法将数据库状态与会话同步,hibernate,session-state,Hibernate,Session State,可能重复: 在尝试向多对多关联表插入新条目时,我遇到以下错误:无法将数据库状态与会话同步 我可以理解这是处理getSession()和session.close()的事情 但是我不能准确地理解它。对于每个事务,我将创建一个新会话。 但我在用户注销时关闭所有会话。i、 e:创建hibernate会话并将其与HttpSession绑定。然后在用户注销时销毁它 处理完这个问题后,我发现一个具有相同标识符值的不同对象已经与会话关联:error 所有这些错误都是由于未正确打开和关闭会话造成的 您喜欢用什

可能重复:

在尝试向多对多关联表插入新条目时,我遇到以下错误:
无法将数据库状态与会话同步
我可以理解这是处理getSession()和session.close()的事情

但是我不能准确地理解它。对于每个事务,我将创建一个新会话。 但我在用户注销时关闭所有会话。i、 e:创建hibernate会话并将其与HttpSession绑定。然后在用户注销时销毁它

处理完这个问题后,我发现一个具有相同标识符值的不同对象已经与会话关联:error

所有这些错误都是由于未正确打开和关闭会话造成的

您喜欢用什么方法打开和关闭会话。我的项目是创建一个web应用程序。 该web应用程序中的每一个动作都与DB打交道

任何建议

具有相同标识符值的不同对象已与会话关联

Hibernate跟踪会话中处理的映射对象,以便它可以检测对这些对象所做的任何更改,并在提交事务时将它们写回数据库。如果允许将具有相同数据库标识符对象的不同对象添加到会话中,那么应该写入哪个对象的状态将是不明确的

hibernate参考手册对此进行了详细解释(以及解决方法)。特别感兴趣的是标题为“修改分离对象”的部分,但也需要阅读介绍才能理解所使用的术语