मैं एक अपवाद कह रही:स्प्रिंग 3 एनोटेशन - HibernateDaoSupport - भंडार आवश्यक सत्र फैक्टरी
java.lang.IllegalArgumentException: 'sessionFactory' या 'hibernateTemplate' आवश्यक है
जब HibernateDaoSupport क्लास पर @Repository
एनोटेशन का उपयोग करने का प्रयास कर रहा है। रिपोजिटरी बनाने के लिए त्रुटि संदेश सीधा है, इसे एक सत्र फैक्टरी की आवश्यकता है। हालांकि, मैं अपने XML में एक सत्र कारखाने को परिभाषित किया है:
<!-- Hibernate -->
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
<property name="dataSource" ref="dashDataSource" />
<property name="annotatedClasses">
<list>
<value>com.mycomp.myapp.Category</value>
</list>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
</props>
</property>
</bean>
तो मुझे यकीन है कि कैसे भंडार SessionFactory देने के लिए है कि यह आवश्यकता है, जबकि यह यह एनोटेशन प्रेरित सेम है बनाने नहीं हूँ, मैं निम्न कार्य करने का प्रयास किया:
@Autowired
protected HibernateTemplate createHibernateTemplate(SessionFactory sessionFactory) {
return super.createHibernateTemplate(sessionFactory);
}
लेकिन क्योंकि भंडार है कि संपत्ति है, जबकि instantiating बस नहीं है जब एक क्रिया करने की जरूरत है इस समस्या की संभावना का समाधान नहीं करता। दुर्भाग्यवश, मुझे नहीं पता कि इस समस्या को कैसे हल किया जाए क्योंकि @Autowired एनोटेशन के साथ ओवरराइड करने के लिए कोई कन्स्ट्रक्टर या प्रारंभिक विधियां नहीं हैं।
मैंने यह सुनिश्चित करने के लिए जांच की है कि सत्र फैक्ट्री बीन बनाया जा रहा है और इसे स्वचालित किया जा सकता है, और यह ठीक है।
आप अब Hibernatetemplate का उपयोग नहीं करना चाहेंगे क्योंकि यह अधिक लाभ प्रदान नहीं करता है http://blog.springsource.org/2007/06/26/so-should-you-still-use-springs-hibernatetemplate-andor- jpatemplate/ – vsingh