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
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.