Czy istnieje sposób sprawdzenia, czy transakcja jest w stanie "ciągłym" w JDBC? Nic nie znalazłem w Connection API.Stan transakcji w JDBC
Dzięki
Czy istnieje sposób sprawdzenia, czy transakcja jest w stanie "ciągłym" w JDBC? Nic nie znalazłem w Connection API.Stan transakcji w JDBC
Dzięki
JDBC nie zapisuje stan transakcji. Zadaniem DB jest śledzenie stanu transakcji.
Biorąc to pod uwagę, nadal masz dwa sposoby śledzenia/znajomości stanów transakcji.
Można wykonać wywołanie sql do bazy danych, aby uzyskać szczegóły dotyczące transakcji. dla oracle, będzie on w tabeli transakcji $ v sugerowanej w this post.
Innym rozwiązaniem jest użycie kodu menedżera transakcji w niektórych typowych strukturach, takich jak hibernacja (uważam, że Spring też to ma).
public interface Session {
public abstract org.hibernate.Transaction getTransaction();
}
public Transaction {
public abstract boolean wasRolledBack() throws org.hibernate.HibernateException;
public abstract boolean wasCommitted() throws org.hibernate.HibernateException;
public abstract boolean isActive() throws org.hibernate.HibernateException;
}
Dzięki za wskazówkę oracle, to mi pomoże. – cadrian
Jak zdefiniowałbyś "stan bieżący"? – skaffman
Miałem na myśli coś w rodzaju "brudnego" - aktualizuj, wstawiaj i usuwaj wiersze. – cadrian