fix #6299: add openSession in getSession when there is no current session
authorKatja Luther <k.luther@bgbm.org>
Tue, 3 Jan 2017 08:56:08 +0000 (09:56 +0100)
committerKatja Luther <k.luther@bgbm.org>
Tue, 3 Jan 2017 08:57:04 +0000 (09:57 +0100)
cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/persistence/dao/hibernate/common/DaoBase.java

index 6fde147fb13c42250957cff27bfa4739a52ae8b2..5dd85ca0b77b8c0171a0bb0c4abc22d44f4825a4 100644 (file)
@@ -16,6 +16,7 @@ import java.util.List;
 import java.util.Map;
 
 import org.hibernate.Criteria;
+import org.hibernate.HibernateException;
 import org.hibernate.Session;
 import org.hibernate.SessionFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -34,7 +35,12 @@ public abstract class DaoBase {
         return factory;
     }
     protected Session getSession(){
-        Session session = factory.getCurrentSession();
+        Session session ;
+        try {
+            session = factory.getCurrentSession();
+        } catch (HibernateException e) {
+            session = factory.openSession();
+        }
         return session;
     }