2012-06-07 46 views
0

如何修改此代碼,使其不使用新的數據庫連接,但重新使用當前(從封閉事務處理)?如何在沒有新連接的情況下創建新的Hibernate事務?

TransactionDefinition transactionDefinition = new DefaultTransactionDefinition(TransactionDefinition.PROPAGATION_REQUIRES_NEW); 
new TransactionTemplate(platformTransactionManager, transactionDefinition).execute(new TransactionCallbackWithoutResult() { 
    @Override 
    protected void doInTransactionWithoutResult(TransactionStatus status) { 
     // do stuff 
    } 
}); 

編輯: 相關的How do I do nested transactions in hibernate using only one connection?

回答

0

我會說你可能傾斜。除非你以某種方式成功地使用hibernate和底層數據庫,以便它們支持嵌套事務。許多數據庫不,我不知道如果休眠。 (因爲它需要一個新的交易)

+0

謝謝馬庫斯。 **新交易很好,這就是我想要的**。我只是**不想要一個新的連接**。 –

+1

重點是,因爲hibernate不支持嵌套事務,所以你不能有一個新的事務與一個新的連接。因此,將REQUIRES_NEW更改爲REQUIRES(?)或創建新的連接和新的事務。 –

相關問題