返信ありがとう:) Grails 2.4.4バージョンのような私のWebアプリケーション構成、Spring-core-4.0.7.RELEASEとともに休止状態の4.3.6最終バージョンです。Hibernateトランザクションをコミットできませんでした。 org.hibernate.TransactionException:トランザクションが正常に開始されませんでした。
実行がtx.commitに当たっているとき、私はここ
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")
}
のように行っておりますが()例外のこの種を投げています。
ここに何か不足していますか?私を案内してください。
例:
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;
}
}
上記コードは稼働中です。コントローラに返されたときに値をコミットした後、その理由を返す "例外[例外:org.springframework.transaction.TransactionSystemException:Hibernateトランザクションをコミットできませんでした、ネストされた例外はorg.hibernate.TransactionException:Transaction not successfully started]"エラーです。 –
あなたは何をしようとしていますか? –
複数のスレッドがgrailsコントローラと、grailサービス内のビジネスロジックにヒットしようとします。サービスから出る前に、私は現在のトランザクションをコミットしようとしていますが、コントローラに戻るときに例外がスローされます。 –