如何修复JBoss Hibernate 3.6.8.Final启动异常(org.hibernate.validator.ClassValidator。<init>)</init>

时间:2012-07-13 09:00:21

标签: hibernate jboss

我使用Hibernate 3.6.8.Final作为JBoss 4.3中部署的项目的一部分,发现在启动期间发出了以下堆栈跟踪:

Caused by: org.hibernate.AnnotationException: java.lang.NoSuchMethodException: org.hibernate.validator.ClassValidator.<init>(java.lang.Class, java.util.ResourceBundle, org.hibernate.validator.MessageInterpolator, java.util.Map, org.hibernate.annotations.common.reflection.ReflectionManager)
        at org.hibernate.cfg.Configuration.applyHibernateValidatorLegacyConstraintsOnDDL(Configuration.java:1681) ~[hibernate-core-3.6.8.Final.jar:3.6.8.Final]
        at org.hibernate.cfg.Configuration.applyConstraintsToDDL(Configuration.java:1653) ~[hibernate-core-3.6.8.Final.jar:3.6.8.Final]
        at org.hibernate.cfg.Configuration.secondPassCompile(Configuration.java:1445) ~[hibernate-core-3.6.8.Final.jar:3.6.8.Final]
        at org.hibernate.cfg.Configuration.buildMappings(Configuration.java:1375) ~[hibernate-core-3.6.8.Final.jar:3.6.8.Final]
        at org.hibernate.ejb.Ejb3Configuration.buildMappings(Ejb3Configuration.java:1519) ~[hibernate-entitymanager-3.6.8.Final.jar:3.6.8.Final]
        at org.hibernate.ejb.EventListenerConfigurator.configure(EventListenerConfigurator.java:193) ~[hibernate-entitymanager-3.6.8.Final.jar:3.6.8.Final]
        at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:1100) ~[hibernate-entitymanager-3.6.8.Final.jar:3.6.8.Final]
        at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:689) ~[hibernate-entitymanager-3.6.8.Final.jar:3.6.8.Final]
        at org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java:73) ~[hibernate-entitymanager-3.6.8.Final.jar:3.6.8.Final]

我的项目是一个独立的WAR,它不依赖于JBoss的持久性。

我该怎么做才能解决它?

1 个答案:

答案 0 :(得分:1)

原来所需要的只是一点Hibernate魔法粉尘。 persistence.xml需要具有以下Hibernate属性:

<property name="hibernate.validator.autoregister_listeners" value="false" />
<property name="hibernate.validator.apply_to_ddl" value="false" />

希望这有助于某人。

如果有人能解释为什么我会欣赏它。