您当前的位置: 首页 >  hibernate

一一哥Sun

暂无认证

  • 4浏览

    0关注

    622博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

org.hibernate.service.UnknownServiceException异常解决办法

一一哥Sun 发布时间:2019-07-07 13:58:31 ,浏览量:4

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();
    }
 }

这样就解决了.

 

关注
打赏
1665624836
查看更多评论
立即登录/注册

微信扫码登录

0.0661s