在我的应用程序中,以下是方案,客户端请求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");
}
任何人都可以解释什么是问题吗?这是因为会话保持开放或其他任何原因。
答案 0 :(得分:0)
您正在使用有时尚未提交到数据库的事务。
尝试
t=session.beginTransaction();
session.save(newEvent);
t.commit();
session.flush();
此致