2016-07-04 5 views
1

У меня есть метод буксировки следующим образом:JDBC автоматически совершать функции внутри транзакции JPA

@org.springframework.transaction.annotation.Transactional 
public boolean creditAccount(String accountId) 
{ 
     LogUtility.logTxn(accountId); 
     // Do somethings 
} 

public class LogUtility 
{ 
    javax.sql.DataSource dataSource; // this property initialized in static block of intilalizing LogUtility class 

    public logTxn(String account) 
    { 
     java.sql.Connection conn = dataSource.getConnection(); 
     conn.setAutoCommit(true); 
     CallableStatement cs = conn.prepareCall(/*name of a oracle package and its procedures*/); 
     cStmt.execute(); 
    } 
} 

Я хочу, чтобы понять, когда произойдет исключение в creditAccount методы после LogUtility.logTxn метода, называемого (здесь: // Do somethings), затем LogUtility.logTxn метода фиксации или отката ? Я знаю creditAccount метод в этой ситуации откат, но я не знаю поведения метода logTxn.

+0

вы сделали ваш creditAccount() транзакционных, следовательно, операции, которые вы внутри внутри метода будет также rollback..fo исключения внутри creditAccount() .. – peaceUser

ответ

1

Вы можете создать еще одно соединение с источником данных, значит у вас есть еще один сеанс связи с базой данных, поэтому эта связь имеет свою сделку и совершить/откатить одиночные

 Смежные вопросы

  • Нет связанных вопросов^_^