[英]hibernate: session.get() random behaviour
在我的應用程序中,以下是場景,客戶端請求eventId。 在服務器端,打開新會話->創建新的eventId,然后將其存儲在數據庫中,並將該eventId發送到客戶端->關閉會話。 然后,使用該eventId的客戶端將VO發送給服務器。 在服務器端,我們首先使用session.get()方法檢查該eventId是否存在。 但是問題在於每次session.get()方法給出隨機行為時,意味着有時它說eventId存在而有時不存在。 檢查eventID的代碼是否存在:
Session session = HibernateUtil.currentSession();
Event event = (Event) session.get(Event.class,eventId);
if(event != null){
syso("Event is present");
} else {
syso("Event is not present");
}
誰能解釋什么是問題? 這是由於會話保持打開狀態或其他原因。
您正在使用有時尚未提交到數據庫的事務。
嘗試
t=session.beginTransaction();
session.save(newEvent);
t.commit();
session.flush();
問候
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.