I\'ve seen a method in a Service class that was marked as @Transactional
, but it was also calling some other methods in that same class which were not marked as
That depends on a propagation level. Here are all the possible level values.
For example in case a propagation level is NESTED a current transaction will "suspend" and a new transaction will be created ( note: actual creation of a nested transaction will only work on specific transaction managers )
The default propagation level ( what you call "behavior" ) is REQUIRED. In case an "inner" method is called that has a @Transactional
annotation on it ( or transacted declaratively via XML ), it will execute within the same transaction, e.g. "nothing new" is created.