मैं एक एल्गोरिथ्म के अनुकूलन की प्रक्रिया में हूँ बंद करने से बचने के लिए, और मैंने देखा है कि हाइबरनेट बनाता है और रिलीज अद्यतन बयान बार-बार उसका पुनः उपयोग करने के बजाय। ये सभी एक ही प्रश्न से हैं।स्प्रिंग हाइबरनेट, बयान दर्ज करने और repeatively
15:57:31,589 TRACE [.JdbcCoordinatorImpl]:371 - Registering statement [sql : 'update ...
15:57:31,591 TRACE [.JdbcCoordinatorImpl]:412 - Releasing statement [sql : 'update ...
15:57:31,592 TRACE [.JdbcCoordinatorImpl]:525 - Closing prepared statement [sql : 'update ...
15:57:31,592 TRACE [.JdbcCoordinatorImpl]:278 - Starting after statement execution processing [ON_CLOSE]
15:57:31,594 TRACE [.JdbcCoordinatorImpl]:371 - Registering statement [sql : 'update ...
15:57:31,595 TRACE [.JdbcCoordinatorImpl]:412 - Releasing statement [sql : 'update ...
15:57:31,596 TRACE [.JdbcCoordinatorImpl]:525 - Closing prepared statement [sql : 'update ...
15:57:31,596 TRACE [.JdbcCoordinatorImpl]:278 - Starting after statement execution processing [ON_CLOSE]
15:57:31,597 TRACE [.JdbcCoordinatorImpl]:371 - Registering statement [sql : 'update ...
15:57:31,599 TRACE [.JdbcCoordinatorImpl]:412 - Releasing statement [sql : 'update ...
15:57:31,600 TRACE [.JdbcCoordinatorImpl]:525 - Closing prepared statement [sql : 'update ...
15:57:31,601 TRACE [.JdbcCoordinatorImpl]:278 - Starting after statement execution processing [ON_CLOSE]
एल्गोरिथ्म के मुख्य विधि एक @Scope
और एक @Transactional
एनोटेशन है। अपेक्षित व्यवहार है कि, कुछ भी गलत हो जाता है, एल्गोरिथ्म के अपडेट ROLLBACK
हो रहा है।
नीचे, एल्गोरिदम @Service
का उपयोग करता है जिसमें एक अलग @Scope
है और @Transactional
भी है। सेवा हाइबरनेट का उपयोग कर डेटाबेस अद्यतन करने, session.update(entity)
साथ एक है। दस्तावेज कहता है कि, डिफ़ॉल्ट रूप से, घोंसला लेनदेन लेनदेन का पुन: उपयोग करते हैं यदि यह मौजूद है।
- क्या यह पुष्टि सही से ऊपर है?
- गुंजाइश परिवर्तन समस्या पैदा कर सकते हैं?
- मैं कैसे हाइबरनेट लेनदेन के दौरान बयान का पुन: उपयोग हो सकता है?
आपका ध्यान