簡體   English   中英

休眠:session.get()隨機行為

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM