चूंकि आपने अपने स्प्रिंग लेनदेन को @Transactional
. के माध्यम से परिभाषित किया है , आप डिफ़ॉल्ट रूप से एक ऑटो-प्रतिबद्ध लेनदेन के अंदर चल रहे हैं। इस अन्य सूत्र के अनुसार, आपको दूसरा सत्र कारखाना बनाने की आवश्यकता है जो autocommit = false
में चलता है फ़ाइल को पुनः प्राप्त करने के लिए।
इसके अतिरिक्त, पुनर्प्राप्ति के लिए डीएओ को @Qualifier
. के साथ एनोटेट किया जाना चाहिए ताकि यह जान सके कि किस सत्र कारखाने का उपयोग करना है। उदाहरण:
@Autowired
public MyDAOImpl(@Qualifier("someSessionFactory") SessionFactory sessionFactory) {
setSessionFactory(sessionFactory);
}