เป็นปัญหาที่เราใช้ Spring กับ Hibernate แล้วดึง getCurrentSession มาใช้ แล้วจะขึ้น Exception ประมาณนี้
ซึ่งเกิดจากการที่เราไม่มี Transaction ไปครอบไว้ แก้โดย
1. เพิ่ม @Transactional
2. เพิ่ม <tx:annotation-driven />
3. เพิ่ม component scan ในส่วนที่ไว้ tx:annotation-driven ต้องเป็นส่วนใน applicatoncontext.xml ครับ
4. ถ้าเราใส่ component scan บน dispatch-servlet.xml แล้ว จะยังไม่ได้ ต้องทำการเพิ่มให้ส่วน dispatch-servlet.xml เอาเฉพาะ controller ส่วน business service, dao service ให้เอาไปวางไว้ที่ applicationtext.xml แทน ก็จะได้ครับ
Reference
http://www.sivalabs.in/2011/05/springmvc-hibernate-error-no-hibernate.html
org.hibernate.HibernateException: No Session found for current thread
ซึ่งเกิดจากการที่เราไม่มี Transaction ไปครอบไว้ แก้โดย
1. เพิ่ม @Transactional
2. เพิ่ม <tx:annotation-driven />
3. เพิ่ม component scan ในส่วนที่ไว้ tx:annotation-driven ต้องเป็นส่วนใน applicatoncontext.xml ครับ
4. ถ้าเราใส่ component scan บน dispatch-servlet.xml แล้ว จะยังไม่ได้ ต้องทำการเพิ่มให้ส่วน dispatch-servlet.xml เอาเฉพาะ controller ส่วน business service, dao service ให้เอาไปวางไว้ที่ applicationtext.xml แทน ก็จะได้ครับ
Reference
http://www.sivalabs.in/2011/05/springmvc-hibernate-error-no-hibernate.html