gpt4 book ai didi

spring - 无法提交 hibernate 事务;嵌套的异常是org.hibernate.TransactionException:事务未成功启动]

转载 作者:行者123 更新时间:2023-12-02 15:21:07 24 4
gpt4 key购买 nike

感谢您的回复:)我的Web应用程序配置如grails 2.4.4版本,hibernate 4.3.6最终版本以及spring-core-4.0.7.RELEASE。

我表现得像

Session session2 = sessionFactory.getCurrentSession();
session2.persist(Obj);
session2.flush();
Transaction tx = session2.getTransaction();
log.debug("ITS CREATED??")
if(tx.isActive())
{
log.debug("ITS ACTIVE")
if(!tx.wasCommitted())
{
log.debug("NOT COMMITTED")
tx.commit();
}else
{
log.debug(" COMMITTED")
}
}else
{
log.debug("NOT ACTIVE")
}

在这里,当执行被击中时,tx.commit()会抛出这种异常。

我在这里想念什么吗?请指导我。

例:
class MetaDataController
{
def saveService;

def save={

def returnParams = saveService.doSave(params);
//Here returning to the controller, its giving an exception.

}
}


class SaveService
{
def transactional = true;

def doSave(def params)
{
def params;
Session session2 = sessionFactory.getCurrentSession();

Metadata metaData = new MetaData();
///Object association

session2.persist(metaData);
session2.flush();
Transaction tx = session2.getTransaction();
if(!tx.wasCommitted())
{
log.debug("NOT COMMITTED")
tx.commit();
}
return params;

}

}

最佳答案

对于这种简单的用例,您无需弄乱 session 和事务。您正在使用Grails,记得吗?

class SaveService
{
def transactional = true;

def doSave(def params)
{
Metadata metaData = new MetaData()
metadata.save()
return params // I don't get this, but what the hell.
}

}

关于spring - 无法提交 hibernate 事务;嵌套的异常是org.hibernate.TransactionException:事务未成功启动],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36147113/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com