尽管我在测试独立应用程序中没有遇到它,但我在Web应用程序中正在努力解决Hibernate中的奇怪问题。
faces-config.xml中
businessUserData
org.beans.BusinessUserDataHibernate
session
daoUserData
#{daoUserData}
daoUserData
org.data.source.DAOuserDataHibernate
session
DAOuserDataHibernate.getUserData() - 我在BusinessUserDataHibernate类中用作服务类
public UserData getUserData(String userName){
sessionFactory = new Configuration().configure().buildSessionFactory();
UserData userData=null;
try{
session = sessionFactory.openSession();
tx = session.beginTransaction();
userData = (UserData)session.get(UserData.class, userName);
tx.commit();
session.close();
return userData;
}
catch(HibernateException hEx){ return null; }
}的hibernate.cfg.xml
com.mysql.jdbc.Driver
jdbc:mysql://localhost:3306/mySQLdb
...
...
1
org.hibernate.dialect.MySQLDialect
org.hibernate.cache.NoCacheProvider
true
update
UserData.hbm.xml
我的进口罐子
http://i.stack.imgur.com/BiCMk.jpg
当我作为独立测试应用程序运行应用程序时,它工作正常(休眠根据我调用的DAO方法选择数据或写入数据库)。当我将它部署到WAR并在Glasfish3服务器上运行时,它会转储
堆栈跟踪
Caused by: org.hibernate.HibernateException: Unable to instantiate default tuplizer [org.hibernate.tuple.entity.PojoEntityTuplizer]
at org.hibernate.tuple.entity.EntityTuplizerFactory.constructTuplizer(EntityTuplizerFactory.java:110)
at org.hibernate.tuple.entity.EntityTuplizerFactory.constructDefaultTuplizer(EntityTuplizerFactory.java:135)
at org.hibernate.tuple.entity.EntityEntityModeToTuplizerMapping.(EntityEntityModeToTuplizerMapping.java:56)
at org.hibernate.tuple.entity.EntityMetamodel.(EntityMetamodel.java:323)
at org.hibernate.persister.entity.AbstractEntityPersister.(AbstractEntityPersister.java:433)
at org.hibernate.persister.entity.SingleTableEntityPersister.(SingleTableEntityPersister.java:109)
at org.hibernate.persister.PersisterFactory.createClassPersister(PersisterFactory.java:55)
at org.hibernate.impl.SessionFactoryImpl.(SessionFactoryImpl.java:231)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1313)
at org.data.source.DAOuserHibernate.getAllUsers(DAOuserHibernate.java:61)
at org.spring.beans.BusinessUserHibernate.getAllUsers(BusinessUserHibernate.java:33)我尝试了不同的方式,也支持Spring,但最终我得到了这个异常。它似乎与建立sessionFactory有关。你能帮我解决这个问题吗?
先谢谢你
马尔钦