TransactionManager jest całkowicie inny niż EntityManager, jeden jest odpowiedzialny za encje (detektor, encje, relacje, ich cykl trwałości, a ten interfejs definiuje metody używane do interakcji z kontekstem utrwalania) powiązany z określoną trwałością kontekst, w którym podmioty są żywe, w międzyczasie TransactionManager odpowiada za dostęp do danych transakcyjnych, zapewniając wsparcie dla wszystkich transakcji, które muszą wystąpić w aplikacji.
Wiązanie konfiguracji jednego obiektu przysługujący praw do określonego menedżera transakcji.
<bean class="org.springframework.orm.jpa.JpaTransactionManager" id="transactionManager">
<property name="entityManagerFactory" ref="entityManagerFactory" />
<qualifier value="pagTransactionManager" />
</bean>
<bean class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean" id="entityManagerFactory">
<property name="persistenceUnitName" value="persistenceUnit" />
<property name="dataSource" ref="dataSource" />
<property name="jpaDialect">
<bean class="org.springframework.orm.jpa.vendor.HibernateJpaDialect" />
</property>
</bean>
Co to oznacza połączenie z bazą danych i podmioty są zarządzane przez EntityManager, ale obiekt, który otworzy bliskie transakcji w warstwie usług z wykorzystaniem adnotacji @Transaction jest TransactionManager. Interfejs
umożliwia serwerowi aplikacji kontrolowanie granic transakcji w imieniu zarządzanej aplikacji. Interfejs ten zawiera wiele metod służących do ich kontrolowania, takich jak: commit, suspend, rollback.
Więc w zasadzie wstrzyknąć jeden z tych obiektów zależy od tego, czego szukasz, zarządzać podmiotami i obsługiwać je przy pomocy uprawnienia menager, kontroluj stan transakcyjny aplikacji za pomocą menedżera transakcji.