java.lang.ClassCastException:org.apache.tomcat.dbcp.dbcp.BasicDataSource cannot be cast to org.hibernate.SessionFactoryjndi有自己的datesource包,什么来着 忘记了

解决方案 »

  1.   

    org.apache.commons.dbcp.BasicDataSource
    用这个!
      

  2.   

    hibernate可以通过hibernate.cfg.xml中配置jndi,例如
    <hibernate-configuration>
        <session-factory>
            <!-- Use a Tomcat 5.5 JNDI datasource -->
     <property name="connection.datasource">java:comp/env/jdbc/Sampdb </property>
    ......Session session = HibernateSessionFactory.getSession();
      

  3.   

    SessionFactory最好是在程序初始化的时候进行装入,其实从数据库到模型自动生成的时候会生成一个HibernateSessionFactory,这里面就已经初始化了sessionfactory以及一些session的方法,可以这样初始化SessionFactory
    private static final SessionFactory = new Configuration().configure().buildSessionFactory();然后SessionFactory.openSession();