public class LifecycleAwareJpaTransactionManager
A customized JpaTransactionManager that will send Spring events at key lifecycle points during a transaction.
Listeners can perform additional work at the time of these events, such as logging (any persistence related activity
should be avoided). Event publishing attempts to be safe and will log exceptions without bubbling them. Event publishing
is disabled by default, but may be enabled by using the 'transaction.lifecycle.events.enabled=true' property, or by setting
the logEvents property on a case-by-case basis.