バージョン(楽観的ロック)で次の問題に直面しています。以下のクエリを使用すると、バージョン チェックが行われず、古い状態の例外例外がスローされません。ユーザーの詳細とバージョン番号は正しくインクリメントされますが、バージョン番号が等しくない場合に例外がスローされません。
try{
Query query= getSessionFactory().getCurrentSession().createQuery("update versioned User u set u.userName=:userName,u.DOB=:DOB where u.userID= :id " );
query.setString("userName", usrName);
query.setString("DOB",dob);
query.executeUpdate()
getSessionFactory().getCurrentSession().flush();
}catch(StaleStateException e){
return "some msg return to notify user "
}
Same thing working fine if use below query.
try{
getSessionFactory().getCurrentSession().update(user);
getSessionFactory().getCurrentSession().flush();
}catch(StaleStateException e){
return "some msg return to notify user "
}
any suggestion in this regard will be much helpfull