Spring Transaction Notes

Progagation

PROPOGATION_REQUIRED // support current or create new
PROPOGATION_SUPPORTS // support current or execute non-transactionally
PROPOGATION_MANDATORY // existing tx must exist
PROPOGATION_REQUIRES_NEW // suspend existing tx and create a new one
PROPOGATION_NOT_SUPPORTED // suspend existing tx then execute non-transactionally
PROPOGATION_NEVER // execute non-transactionally, throw exception is one exists
PROPOGATION_NESTED // nest if one exists or behave like REQUIRED (no EJB equiv')

Isolation (safest / slowest first)

ISOLATION_SERIALISED - all things safe
ISOLATION_REPEATABLE_READ - phantom reads possible (read of new data)
ISOLATION_READ_COMMITTED - non-repeatable and phantom possible
ISOLATION_READ_UNCOMMITTED - dirty reads, phantom and non-repeatable

0 comments: