我是靠谱客的博主 还单身楼房,最近开发中收集的这篇文章主要介绍j2EE学习之hibernate—常见错误集锦,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1.java.lang.ClassCastException: org.hibernate.engine.transaction.internal.jdbc.JdbcTransaction cannot be cast to javax.transaction.Transaction

问题:ssh框架web项目中Transaction发生转换异常

解决:当时sessionfactory不可用,必须用session才能使用这段代码所以要开启一级缓存,但是不知道Transaction应用的是 org.hibernate.Transaction还是import javax.transaction.Transaction;导致了这个异常换了下导入的包就可以了。


2.org.hibernate.service.UnknownServiceException: Unknown service requested [or

问题:发现是调用的两个方法,都要开启 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();
        }
    }


原文:https://blog.csdn.net/swingyaoye/article/details/50689545 
 

 

最后

以上就是还单身楼房为你收集整理的j2EE学习之hibernate—常见错误集锦的全部内容,希望文章能够帮你解决j2EE学习之hibernate—常见错误集锦所遇到的程序开发问题。

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

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

评论列表共有 0 条评论

立即
投稿
返回
顶部