wuliang
发贴: 46
积分: 20
|
于 2005-03-24 11:14
以前碰过,现在记不清了~:)
public static Session openSession() throws HibernateException { Session se = getSF().openSession(); try { //缺省openSession得到的是autocommit=false的连接 se.connection().setAutoCommit(true); } catch (Exception e) { e.printStackTrace(); } return se; }
public static void closeSession(Session se) { try { if (se != null) { se.close(); } } catch (HibernateException e) { e.printStackTrace(); } }
印象里autocommit=false时,一定要自己调用commit(),否则不会保存,但做测试时,不清楚是什么原因(可能是缓存etc),能够查到最新数据,产生已保存的错觉。这个问题后来是跟踪源代码才搞清的,
不管怎样,感觉这样的测试没有必要,因为这是测试hibernate,不是测自己的业务代码
如果确实需要对hibernate测试,也应该用其他查询工具来验证,如jdbc
|