【发布时间】:2011-11-10 01:07:27
【问题描述】:
在我的应用程序中,我打开会话,创建条件但不关闭它。然后在其他方法中我再次打开会话,更新对象并在tr.commit() 上接收database is locked。
如果我将session.close() 放在第一个实例中,我会收到
无法初始化代理 - 没有会话。
如何正确关闭和打开会话?还是我需要将代理对象复制到我创建的那些,然后close()?
Session session = HibernateUtil.getSessionFactory().openSession();
Transaction tr=session.beginTransaction();
Criteria criteria = session.createCriteria(MyDocument.class);
criteria.add(Expression.like("isMainDoc", 1));
List docs = criteria.list();
tr.commit();
session.close();
我是一个完全的初学者。我使用sqlite。任何帮助,将不胜感激。提前致谢。
【问题讨论】:
标签: java hibernate sqlite session