休眠开始事务抛出异常
hibernate begintransaction throwing exception
我是休眠新手。请让我知道下面的代码有什么问题?
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 语句抛出异常。提前致谢。
你不能同时激活超过一个transaction (not session)
,你的方法已经在交易中,你不需要创建一个新的;移除 s.beginTransaction();
或者可以传递相同的 transaction
,或者创建一个新的。
这里的概念是 - getCurrentSession()
return 相同,你正在调用 beginTransaction()
两次。
我是休眠新手。请让我知道下面的代码有什么问题?
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 语句抛出异常。提前致谢。
你不能同时激活超过一个transaction (not session)
,你的方法已经在交易中,你不需要创建一个新的;移除 s.beginTransaction();
或者可以传递相同的 transaction
,或者创建一个新的。
这里的概念是 - getCurrentSession()
return 相同,你正在调用 beginTransaction()
两次。