Interface that defines Spring-compliant transaction properties.
Based on the propagation behavior definitions analogous to EJB CMT attributes.
Note that isolation level and timeout settings will not get applied unless
an actual new transaction gets started. As only PROPAGATION_REQUIRED ,
PROPAGATION_REQUIRES_NEW and PROPAGATION_NESTED can cause
that, it usually doesn't make sense to specify those settings in other cases.
Furthermore, be aware that not all transaction managers will support those
advanced features and thus might throw corresponding exceptions when given
non-default values.
The read-only flag applies to any transaction context,
whether backed by an actual resource transaction or operating non-transactionally
at the resource level. In the latter case, the flag will only apply to managed
resources within the application, such as a Hibernate Session.
Note that isolation level and timeout settings will not get applied unless an actual new transaction gets started. As only PROPAGATION_REQUIRED , PROPAGATION_REQUIRES_NEW and PROPAGATION_NESTED can cause that, it usually doesn't make sense to specify those settings in other cases. Furthermore, be aware that not all transaction managers will support those advanced features and thus might throw corresponding exceptions when given non-default values.
The read-only flag applies to any transaction context, whether backed by an actual resource transaction or operating non-transactionally at the resource level. In the latter case, the flag will only apply to managed resources within the application, such as a Hibernate
Session.