Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

एक ही हाइबरनेट लेनदेन में मूल SQL क्वेरी कैसे चलाएं?

यदि आप कंटेनर प्रबंधित लेनदेन तो आपको लेन-देन नीति भी जोड़नी होगी:

@Stateful
@TransactionManagement(value=TransactionManagementType.CONTAINER)
@TransactionAttribute(value=REQUIRED)

मैंने इस घटना को केवल दो स्थितियों में देखा है:

  • DataSource ऑटो-कमिट मोड में चल रहा है, इसलिए प्रत्येक स्टेटमेंट को एक अलग लेनदेन में निष्पादित किया जाता है
  • EntityManager @Transactional . के साथ कॉन्फ़िगर नहीं किया गया था , लेकिन उसके बाद केवल क्वेरीज़ चलाई जा सकती हैं क्योंकि कोई भी डीएमएल ऑपरेशन अंत में एक लेन-देन आवश्यक अपवाद को फेंक देगा।

आइए संक्षेप में कहें कि आपने निम्न हाइबरनेट गुण सेट किए हैं:

hibernate.current_session_context_class=JTA
transaction.factory_class=org.hibernate.transaction.JTATransactionFactory
jta.UserTransaction=java:comp/UserTransaction

जहां अंतिम गुण आपके एप्लिकेशन सर्वर UserTransaction JNDI नामकरण कुंजी के साथ सेट किया जाना चाहिए।

आप इसका उपयोग भी कर सकते हैं:

hibernate.transaction.manager_lookup_class=org.hibernate.transaction.JBossTransactionManagerLookup

या आपके वर्तमान जावा ईई एप्लिकेशन सर्वर के अनुसार कोई अन्य रणनीति।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. लिनक्स में डिफ़ॉल्ट MySQL/MariaDB पोर्ट कैसे बदलें

  2. क्या जॉइन में कुछ गड़बड़ है जो SQL या MySQL में जॉइन कीवर्ड का उपयोग नहीं करते हैं?

  3. PHP / MySQL में विशेष वर्ण

  4. टर्मिनल से एमएएमपी के MySQL तक पहुंचें

  5. Mysql किसी दिए गए डेटाटाइम रेंज में यादृच्छिक डेटाटाइम डालें