我正在开发一个Web应用程序,我们正在使用Hibernate来持久保存数据库中的对象。 这是问题所在 我们将从第三方获取XML,我们需要将这些数据保存到数据库中。我们可以在以后获取同一实体的更新XML,因此我们需要更新所有记录,但因为我们从第三方获取更新的XML所以没有他们可以为该实体提供UUID的方式。 所以我们使用以下方法 检查对象是否已存在于数据库中(XML具有唯一值作为entityid) 如果对象在那里删除记录而不是将其保存为新对象(替换模式的种类) 如果对象不在数据库中,则保存它。
现在我们面临一个严重的问题。如果我保存对象,而不是在第二次调用中,我们发送了一个包含更新记录的对象的更新请求 hibernate正在使用前一个transcation中保存的对象更新此对象UUID。
现在它能够删除对象,但是当我们尝试保存对象时,它会抛出stalestate异常,因为hibernate已经为这个对象设置了UUID。
我们尝试使用更新方法,但是如果在后面阶段我们尝试更新对象而不是抱怨标识符属性,那么这将一直有效,直到上下文相同,因为在那种情况下将是null。
任何人都可以帮助我实现这个目标,因为它似乎是上下文和hibernate内部会话管理的一个问题。
提前致谢 Umesh制作
答案 0 :(得分:0)
问题解决了!! 它与弹簧配置有关,而且冬眠工作正常。