我是休眠的新手。请告诉我下面的代码有什么问题?
f1()
{
try {
s = HibernateUtils.getSessionFactory().getCurrentSession();
tx = s.beginTransaction();
// do some task
tx.commit();
} catch(Exception e) {
tx.rollback();
throw e;
}
}
f2()
{
try {
s = HibernateUtils.getSessionFactory().getCurrentSession();
tx = s.beginTransaction();
f1();
tx.commit();
} catch(Exception e) {
tx.rollback();
}
}
f1()中的begin transaction语句抛出异常。提前谢谢。
答案 0 :(得分:0)
您不能同时激活多个transaction (not session)
,您的方法已在交易中,您无需创建新方法;删除s.beginTransaction();
OR可以传递相同的transaction
,或者创建一个新的。{/ p>
此处的概念是 - getCurrentSession()
返回相同的内容,并且您正在调用beginTransaction()
两次。