Declarative and Programatic Transaction Management in Spring:
Declarative :- @Transactional Annotation
Declarative :- @Transactional Annotation
// these settings have precedence for this method @Transactional(readOnly = false, propagation = Propagation.REQUIRES_NEW) public void updateFoo(Foo foo) { // do something } }
@Transactional settings
The
@Transactional annotation is metadata that specifies that an interface, class, or method must have transactional semantics; for example, "start a brand new read-only transaction when this method is invoked, suspending any existing transaction". The default @Transactional settings are as follows:- Propagation setting is
PROPAGATION_REQUIRED. - Isolation level is
ISOLATION_DEFAULT. - Transaction is read/write.
- Transaction timeout defaults to the default timeout of the underlying transaction system, or to none if timeouts are not supported.
- Any
RuntimeExceptiontriggers rollback, and any checkedExceptiondoes not.
No comments:
Post a Comment