Mam pewien kod hibernacji, który wykonuje wstawienie do bazy danych, a po jej zakończeniu uruchamiany jest niestandardowy PostInsertEventListener. (Zasadniczo wyzwalacz zapewniający odpowiednią aktualizację innych rekordów)Hibernate PostInsertEventListeners -Use Same transakcji jako insert?
Co należy zrobić, to sprawić, aby kod wewnątrz EventListener korzystał z tej samej transakcji co oryginalna wstawka, więc jeśli insert nie zostanie pomyślnie zatwierdzony, EventListener nie będzie strzelać.
Słyszałem, że można użyć metod javax.transaction.Syncronization
i Hibernate do transaction.registerSyncronization()
, aby to zrobić, ale nie ma przykładów użycia w dowolnym miejscu, które można znaleźć.
Każda pomoc jest doceniana.