У меня есть файл класса, CBRTask.java
В этом CBRTask.java
у меня есть следующий код:
@Autowired
private CbrService cbrService;
public CBRPayment execute() {
try {
cbrService.sendCR( this.entity );
// If I manually throw Exception here, no problem in catch
catch (Exception exception) {
// do something to call db, but hit error
}
}
А затем в моем CbrService
классе :
Я выкидываю исключение
throw new Exception();
Тогда это будет зафиксировано в CBRTask.java
, а затем вызовет ошибку обращения к db.
Предположим, что это не должно произойти.Потому что этот код работает нормально в Hibernate 3. После перехода на Hibernate 5, только нажмите.
Вот журнал ошибок:
org.hibernate.HibernateException: Current transaction is not in progress
at org.hibernate.context.internal.JTASessionContext.currentSession(JTASessionContext.java:81)
at org.hibernate.internal.SessionFactoryImpl.getCurrentSession(SessionFactoryImpl.java:721)
И если я вручную выбрасываю исключение вКласс CBRPayment, и ловите в одном месте, проблема не произойдет.