我是靠谱客的博主 无心萝莉,最近开发中收集的这篇文章主要介绍org.hibernate.service.UnknownServiceException异常解决办法org.hibernate.service.UnknownServiceException异常,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

org.hibernate.service.UnknownServiceException异常

查了很久的原因,发现是调用的两个方法,都要开启 sessionFactory!

解决办法是将前面一个调用的方法中的 sessionFactory 最后置为空,sessionFactory = null;或者将session给close()掉!

在下一个方法中就能重新调用了,成功解决.


如果不关闭 SessionFactory 可能会使系统变卡,原因可能是在每个方法中都重新 new 了一个SessionFactory对象.所以,我们可以考虑将 SessionFactory 重用.

public class MyHibernateSessionFactory {

    private final static Configuration configuration = new Configuration().configure();
    private final static ServiceRegistry serviceRegistry = new ServiceRegistryBuilder().applySettings(configuration.getProperties()).build();
    private final static SessionFactory sessionFactory = configuration.buildSessionFactory(serviceRegistry);

    private MyHibernateSessionFactory() {
    }

    public static Session getSession() {
        return sessionFactory.openSession();
    }

    private static class SingletonHolder {
        private final static MyHibernateSessionFactory INSTANCE = new           MyHibernateSessionFactory();
    }

    public static MyHibernateSessionFactory getInstance() {
        return SingletonHolder.INSTANCE;
    }
}

在外部重新定义,然后在方法中调用:

public Users SearchUser() {
    Session session = MyHibernateSessionFactory.getSession();
    Transaction tx = session.beginTransaction();
       
    try{
        //do something
    }catch(Exception ex){
       //do something; 
    }finally{
        tx = null;   
        session.close();
    }
 }

这样就解决了.

 

最后

以上就是无心萝莉为你收集整理的org.hibernate.service.UnknownServiceException异常解决办法org.hibernate.service.UnknownServiceException异常的全部内容,希望文章能够帮你解决org.hibernate.service.UnknownServiceException异常解决办法org.hibernate.service.UnknownServiceException异常所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(43)

评论列表共有 0 条评论

立即
投稿
返回
顶部