Hibernate的失败,并在EntityTuplizerFactory.constructTuplizer NullPointerException异常?为什么?

StackOverflow https://stackoverflow.com/questions/2049371

我有一个问题,当我尝试实例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的发射确实

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top