org.hibernate.internal.SessionFactoryImpl无法强制转换为org.hibernate.SessionFactory

时间:2014-10-10 13:05:31

标签: hibernate

我正在将我们的一个应用程序从jboss 4.0.5 GA升级到Jboss 7.1.1,我遇到以下例外:

org.hibernate.internal.SessionFactoryImpl无法强制转换为org.hibernate.SessionFactory

java.lang.ClassCastException:org.hibernate.internal.SessionFactoryImpl无法强制转换为org.hibernate.SessionFactory

我的persistence.xml是:

http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">

<persistence-unit name="XXModelPU">

    <description>XXModelPU</description>

    <jta-data-source>java:/GTDB</jta-data-source>

    <properties>

        <property name="hibernate.session_factory_name" value="java:/hibernate/GTDSessionFactory"/>

        <property name="hibernate.hbm2ddl.auto" value="update" />

        <property name="hibernate.show_sql" value="false" />

        <property name="hibernate.dialect" value="org.hibernate.dialect.SQLServerDialect"/>

        <property name="hibernate.cache.use_second_level_cache" value="false"/>

    </properties>

</persistence-unit>

Hibernate3用于开发应用程序。

请帮助弄清问题是什么......

它在下面的代码行中给出了java.lang.NullPointerException:

java.util.List applicationList = new HibernateUtil().loadObjects("GraphicsHelper");

我的loadObjects方法如下:

 public List loadObjects(String ObjectName) {
    Query sqlQuery = null;
    List objectList = null;
    Transaction tx = null;
    try {
        tx = currentSession().beginTransaction();
        sqlQuery = currentSession().createQuery("from " + ObjectName);
        objectList = sqlQuery.list();
        tx.commit();
    } catch (Exception e) {
        if (tx != null) {
            tx.rollback();
        }
        ExceptionManager exmgr = new ExceptionManager();
        exmgr.processException(e, "Error in loadObjects() for HibernateUtil class");
    } finally {
        closeSession();
    }
    return objectList;
}

在我的HibernateUtil构造函数中标记了classcast问题,构造函数如下:

public HibernateUtil(){
    try{

        if(sessionFactory == null){
            javax.naming.InitialContext ctx = new javax.naming.InitialContext(); 
             sessionFactory = (SessionFactory)ctx.lookup("hibernate/GTDSessionFactory");
        } 
    }catch(Exception e){

        ExceptionManager exmgr = new ExceptionManager();
        exmgr.processException(e , "Error while looking up hibernate sessionfactory in HibernateUtil class");

    }
}

************* 2014年10月13日(星期一) - 上午07:47:33 *************** HibernateUtil类的loadObjects()出错 错误消息:null 显示java.lang.NullPointerException

************* 2014年10月13日(星期一) - 上午07:52:34 *************** 在HibernateUtil类中查找hibernate sessionfactory时出错 错误消息:org.hibernate.internal.SessionFactoryImpl无法强制转换为org.hibernate.SessionFactory java.lang.ClassCastException:org.hibernate.internal.SessionFactoryImpl无法强制转换为org.hibernate.SessionFactory

************* 2014年10月13日(星期一) - 上午07:52:34 *************** 在HibernateUtil类中查找hibernate sessionfactory时出错 错误消息:org.hibernate.internal.SessionFactoryImpl无法强制转换为org.hibernate.SessionFactory java.lang.ClassCastException:org.hibernate.internal.SessionFactoryImpl无法强制转换为org.hibernate.SessionFactory

0 个答案:

没有答案