我在我的应用程序中使用休眠 3,有一种情况是我插入两条记录并更新一条记录:-
SessionFactory sf = HibernateUtils.getSessionFactory();
session = sf.openSession();
tx = session.beginTransaction();
Collection collection = session.load(Collection.class, "12345");
tx.commit();
// using this way i am getting this object from database.
setCollection(collection);//Here i am setting this object in one POJO class
现在在其他功能
我又得到了这个对象......
Collection collection=getCollection(); //here it is detached
现在首先我使用以下方法将数据保存在一个表中:-
SessionFactory sf = HibernateUtils.getSessionFactory();
session = sf.openSession();
tx = session.beginTransaction();
Sms sms=new Sms();
sms.setMessage(collection.getMesage());
session.save(sms);
tx.commit();
session.flush();
session.close();
然后我在同一个会话中更新并插入两条记录
SessionFactory sf = HibernateUtils.getSessionFactory();
session = sf.openSession();
tx = session.beginTransaction();
Cancel cancel=new Cancel();
cancel.setMessage(collection.getMesage());
session.save(cancel);
session.update(collection);
tx.commit();
session.flush();
session.close();
上面代码中的问题,这里在短信和取消表中的数据正在保存但更新不起作用,它也没有显示任何错误。
它并非在每种情况下都会发生,有时它不会更新
两个不同的会话有什么问题吗?