Мне нужно выполнить транзакции, которые включают методы в более чем одном дао, поэтому я использую что-то вроде:
jdbi.useHandle(handle -> {
handle.useTransaction(h -> {
Dao1 dao1 = h.attach(Dao1.class);
Dao2 dao2 = h.attach(Dao2.class);
dao1.method1();
dao2.method2();
});
});
, но если, например, в Dao1
method1 помечен @Transaction
, как:
public interface Dao1 {
@SqlUpdate
@Transaction
public void method1();
}
Вышеуказанные части дескриптора будут выполнять оба метода в одной транзакции? Или method1 откроет новую транзакцию во время выполнения?