लेनदेन प्रबंधक पूरी तरह से EntityManager के लिए अलग है, एक संस्थाओं (श्रोता, संस्थाओं, रिश्ते, दृढ़ता जीवनशैली का प्रभारी है और यह इंटरफ़ेस एक विशिष्ट दृढ़ता से जुड़े दृढ़ता संदर्भ से बातचीत करने के लिए उपयोग की जाने वाली विधियों को परिभाषित करता है) संदर्भ में, जहां संस्थाओं जीवित हैं, इस बीच TransactionManager सभी लेन-देन की जरूरत है कि आपके आवेदन के भीतर होती है करने के लिए करने के लिए समर्थन देने के लेन-देन संबंधी डेटा का उपयोग के लिए जिम्मेदार है,।
एक विशिष्ट transactionmanager करने के लिए एक entitymanager वस्तु विन्यास बाँध।
<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>
कौन सा यह डेटाबेस के लिए कनेक्शन का मतलब है और संस्थाओं EntityManager द्वारा प्रबंधित किया जाता है, लेकिन उद्देश्य यह है कि सेवा परत @Transaction एनोटेशन का उपयोग करने में एक करीब लेन-देन को खोलने TransactionManager है
।
javax.transaction.TransactionManager
इंटरफ़ेस एप्लिकेशन सर्वर को प्रबंधित होने वाले एप्लिकेशन की तरफ से लेनदेन सीमाओं को नियंत्रित करने की अनुमति देता है, इस इंटरफ़ेस में बहुत सी विधि होती है जो उन्हें नियंत्रित करने के लिए उपयोग कर रही हैं जैसे: प्रतिबद्ध, निलंबित, रोलबैक।
तो मूल रूप से इन वस्तुओं में से किसी एक को इंजेक्ट करने के लिए आप जो खोज रहे हैं उस पर निर्भर करते हैं, संस्थाओं का प्रबंधन करते हैं और उनके साथ काम करते हैं, इकाई प्रबंधक का उपयोग करते हैं, अपने आवेदन की लेनदेन संबंधी स्थिति को अपने आप लेनदेन प्रबंधक का उपयोग करते हैं।