0

JBoss4.3にデプロイされたプロジェクトの一部としてHibernate3.6.8.Finalを使用していますが、起動時に次のスタックトレースが発行されていることがわかりました。

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]

私のプロジェクトは、永続性をJBossに依存しない自己完結型のWARです。

それを修正するにはどうすればよいですか?

4

1 に答える 1

1

必要なのは、Hibernateの魔法のほこりだけでした。persistence.xmlには、次のHibernateプロパティが設定されている必要があります。

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

これが誰かを助けることを願っています。

誰かが私がそれを感謝する理由を説明できるなら。

于 2012-07-13T09:00:22.307 に答える