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
RuntimeException
triggers rollback, and any checkedException
does not.
No comments:
Post a Comment