有关错误的帮助org.hibernate.StaleObjectStateException
请帮我避开这个错误。它有时会来,有时会来。我知道这是因为并发请求,但如何克服它??我试着用锁代替了拿,但没用有关错误的帮助org.hibernate.StaleObjectStateException,hibernate,grails,gorm,Hibernate,Grails,Gorm,请帮我避开这个错误。它有时会来,有时会来。我知道这是因为并发请求,但如何克服它??我试着用锁代替了拿,但没用 org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect): 我的代码是: def principal = springSecurityService.principal if
org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect):
我的代码是:
def principal = springSecurityService.principal
if (principal instanceof String)
return null
else {
def user = NayaxUser.get(principal.id)
user.merge()
return user
}
我也尝试过使用merge,但似乎没有任何帮助。。有什么建议吗?我注意到的一件事是您的代码
user.merge()
return user
似乎有问题,因为如中所述:
与save方法不同,此方法返回表示重新附加对象的类的新实例。[…]如果您不使用merge方法的返回值,那么您仍然可以访问原始分离的实例,并且会出现错误,例如延迟初始化异常
因此,在您的案例中,正确的代码应该是
return user.merge()
但是,我不确定这是否解决了您的问题。非常感谢您的输入。然而,我面临的问题是由于其他一些例外,即当任何用户过去单击某个东西时,我们希望存储他正在做的事情。。在这样做的过程中,我们犯了一个错误,在一个与用户(在我的代码中)关联的不可为空的字段中输入null值,一旦我们修复了上述错误就消失了