Hibernate的失败,并在EntityTuplizerFactory.constructTuplizer NullPointerException异常?为什么?
题
我有一个问题,当我尝试实例Hibernate和与MySQL数据库(见下面的错误消息)连接。
奇怪的是连接工作正常运行JUnit测试时使用完全相同的hibernate.cfg.xml文件,但它拒绝从Tomcat ...
运行时的工作我开始江郎才尽了。
任何线索或尖端哪里寻找?
产生的原因:org.hibernate.HibernateException:无法实例默认的tuplizer [org.hibernate.tuple.entity.DynamicMapEntityTuplizer] 在org.hibernate.tuple.entity.EntityTuplizerFactory.constructTuplizer(EntityTuplizerFactory.java:110) 在org.hibernate.tuple.entity.EntityTuplizerFactory.constructDefaultTuplizer(EntityTuplizerFactory.java:135) 在org.hibernate.tuple.entity.EntityEntityModeToTuplizerMapping。(EntityEntityModeToTuplizerMapping.java:69) 在org.hibernate.tuple.entity.EntityMetamodel。(EntityMetamodel.java:323) 在org.hibernate.persister.entity.AbstractEntityPersister。(AbstractEntityPersister.java:456) 在org.hibernate.persister.entity.SingleTableEntityPersister。(SingleTableEntityPersister.java:131) 在org.hibernate.persister.PersisterFactory.createClassPersister(PersisterFactory.java:84) 在org.hibernate.impl.SessionFactoryImpl。(SessionFactoryImpl.java:267) 在org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1341) 在se.fmt.atlantism.util.HibernateUtil.buildSessionFactory(HibernateUtil.java:16) ... 38个 显示java.lang.NullPointerException:致 在org.hibernate.tuple.entity.EntityTuplizerFactory.constructTuplizer(EntityTuplizerFactory.java:107) ... 47更
解决方案
我以供将来的Google和参考写这
我已经做了一些调查研究,问题的根源仍然不得而知。然而下面的文章把我在正确的轨道上。
http://www.howtogeek.com/ HOWTO / LINUX /安装-Tomcat的6-上的ubuntu /
好像Tomcat的(版本6至少)封装在Ubuntu(和Debian)可用的工作不正常。相反,我使用以下引导安装了Tomcat:
http://www.ctrip.ufl.edu/tomcat6-debian -lenny-HOWTO
虽然这可能不是安装的超值之选似乎有必要得到Tomcat的版本6的运行,而不在Ubuntu和/或Debian的莱尼问题。
其他提示
在我的情况下,该误差是由在我的pom.xml切换<依赖性/>顺序来解决。当Hibernate(3.2.7.ga)到来之前休眠的批注(3.4.0.GA)出现此错误。周围的其他方法,它工作正常。这种情况下,即使范围=编译。
我猜想,你需要调整你的classpath,不同之处在于(假设你已经在下降WEB-INF / lib目录都罐子)应该ALPHA-排序正确的顺序。但是,也许这会给别人如何前进的提示。
在我的情况下,这是一个简单的错误 - 配置文件*的.hbm.xml有这样的映射对象没有必须的属性!我还听说错误apearing的情况下,当你拼错了get / set函数 - 非常相似,我的情况。
我面临同样的问题。它走了后,我下载了“javassist.jar”,并把它的类路径: http://www.java2s.com/Code/Jar/JKL/Downloadjavassistjar.htm
这是Tomcat的守护进程的外观:
root 2605 0.0 0.0 16584 376 ? Ss 15:39 0:00 /usr/bin/jsvc -user tomcat6 -cp /usr/share/java/commons-daemon.jar:/usr/share/tomcat6/bin/bootstrap.jar -outfile SYSLOG -errfile SYSLOG -pidfile /var/run/tomcat6.pid -Djava.awt.headless=true -Xmx128M -Djava.endorsed.dirs=/usr/share/tomcat6/endorsed -Dcatalina.base=/var/lib/tomcat6 -Dcatalina.home=/usr/share/tomcat6 -Djava.io.tmpdir=/tmp/tomcat6-temp -Djava.security.manager -Djava.security.policy=/var/lib/tomcat6/work/catalina.policy -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file=/var/lib/tomcat6/conf/logging.properties org.apache.catalina.startup.Bootstrap
这是从内使用Eclipse的Sysdeo的Tomcat的启动器插件运行时Tomcat进程的外观:结果 (这个实际工作)
jzaruba 2655 19.7 4.5 358304 46152 ? Sl 15:43 0:01 /usr/lib/jvm/java-6-sun-1.6.0.15/bin/java -agentlib:jdwp=transport=dt_socket,suspend=y,address=localhost:37377 -Dcatalina.home=/usr/share/tomcat6 -Djava.endorsed.dirs=/usr/share/tomcat6/endorsed -Dcatalina.base=/var/lib/tomcat6 -Djava.io.tmpdir=/var/lib/tomcat6/temp -Dfile.encoding=UTF-8 -classpath /usr/share/tomcat6/bin/bootstrap.jar:/usr/lib/jvm/java-6-sun-1.6.0.15/lib/tools.jar org.apache.catalina.startup.Bootstrap start
在工作一(Eclipse的推出)是用java-6-太阳1.6.0.15,我是Windows用户,所以我不知道如何判断哪些JRE用于/ usr / lib中/的jsvc运行(看它虽然),但我的猜测是它是一些OpenJDK的......难道这是区别?
更新:JSVC可能使用相同的JRE Sysdeo的Tomcat的发射确实