2015-11-18 1 views
0

Je l'ai créé plus tôt Question où j'ai un problème de rasage peut être temporairement par:Exception lors de l'initialisation ApplicationContext HibernateException: Erreur d'application BeanValidation contraintes relationnelles

Ajout: hibernate.properties: javax.persistence.validation.mode=none

Je ne suis pas en mesure de comprendre la raison exacte pourquoi il vient ce temporairement je suis capable de réparer avec: Ajout: hibernate.properties: javax.persistence.validation.mode=none propriétés. mais il ne peut pas être l'option finale parce que l'application doit obtenir le bean de validation.

Pouvez-vous s'il vous plaît me aider à comprendre pourquoi il donne cette erreur plus tôt ce projet fonctionnait très bien:

Si je ne mets pas javax.persistence.validation.mode=none biens immobiliers à hibernate.properties je reçois même erreur.

Aidez-moi à comprendre et à résoudre ce problème.

Ma trace complète de la pile est comme ci-dessous:

- 2015-11-13 03:58:51,217 [main] INFO (support.context.ApplicationContext) Added 534 mappings (249 configured for L2 cache) 
- 2015-11-13 03:58:51,227 [main] INFO (support.context.ApplicationContext) Done building hibernate configuration, time 3,201.301 ms 
- 2015-11-13 03:58:51,227 [main] INFO (support.context.ApplicationContext) Building hibernate session factory 
- 2015-11-13 03:58:51,965 [main] INFO (connections.internal.ConnectionProviderInitiator) HHH000130: Instantiating explicit connection provider: com.hotwg.shared.common.UCPConnectionProvider 
- 2015-11-13 03:58:52,321 [main] INFO (hibernate.dialect.Dialect) HHH000400: Using dialect: org.hibernate.dialect.Oracle10gDialect 
- 2015-11-13 03:58:52,525 [main] FATAL (support.context.ApplicationContext) Error initializing ApplicationContext 
org.hibernate.HibernateException: Error applying BeanValidation relational constraints 
     at org.hibernate.cfg.beanvalidation.BeanValidationIntegrator.applyRelationalConstraints(BeanValidationIntegrator.java:219) 
     at org.hibernate.cfg.beanvalidation.BeanValidationIntegrator.integrate(BeanValidationIntegrator.java:126) 
     at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:302) 
     at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1740) 
     at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1778) 
     at com.hotwg.base.support.context.ApplicationContext.buildSessionFactory(ApplicationContext.java:197) 
     at com.hotwg.base.support.context.ContextFactory.buildContext(ContextFactory.java:131) 
     at com.hotwg.base.support.context.ContextFactory.buildContext(ContextFactory.java:104) 
     at com.hotwg.base.support.context.ContextFactory.createDefaultContext(ContextFactory.java:607) 
     at com.hotwg.base.api.batch.StandaloneExecuter.setupContext(StandaloneExecuter.java:334) 
     at com.hotwg.base.api.batch.StandaloneExecuter.run(StandaloneExecuter.java:135) 
     at com.hotwg.base.api.batch.StandaloneExecuter.main(StandaloneExecuter.java:433) 
     at com.hotwg.base.api.batch.AbstractStandaloneRunner.invokeStandaloneExecuter(AbstractStandaloneRunner.java:546) 
     at com.hotwg.base.api.batch.ThreadPoolWorker.invokeStandaloneExecuter(ThreadPoolWorker.java:122) 
     at com.hotwg.base.api.batch.AbstractStandaloneRunner.run(AbstractStandaloneRunner.java:179) 
     at com.hotwg.base.api.batch.ThreadPoolWorker.run(ThreadPoolWorker.java:66) 
     at com.hotwg.base.api.batch.ThreadPoolWorker.main(ThreadPoolWorker.java:56) 
Caused by: java.lang.reflect.InvocationTargetException 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
     at java.lang.reflect.Method.invoke(Method.java:606) 
     at org.hibernate.cfg.beanvalidation.BeanValidationIntegrator.applyRelationalConstraints(BeanValidationIntegrator.java:208) 
     ... 16 more 
Caused by: org.hibernate.HibernateException: Unable to build the default ValidatorFactory 
     at org.hibernate.cfg.beanvalidation.TypeSafeActivator.getValidatorFactory(TypeSafeActivator.java:524) 
     at org.hibernate.cfg.beanvalidation.TypeSafeActivator.applyDDL(TypeSafeActivator.java:119) 
     ... 21 more 
Caused by: javax.validation.ValidationException: Unable to find a default provider 
     at javax.validation.Validation$GenericBootstrapImpl.configure(Validation.java:264) 
     at javax.validation.Validation.buildDefaultValidatorFactory(Validation.java:111) 
     at org.hibernate.cfg.beanvalidation.TypeSafeActivator.getValidatorFactory(TypeSafeActivator.java:521) 
     ... 22 more 
- 2015-11-13 03:58:52,529 [main] ERROR (api.batch.StandaloneExecuter) error initializing test context 
- 2015-11-13 03:58:52,529 [main] ERROR (api.batch.StandaloneExecuter) Error encountered in standalone executer 
com.hotwg.shared.common.LoggedException: 
The following stacked messages were reported as the LoggedException was rethrown: 
com.hotwg.base.support.context.ContextFactory.createDefaultContext(ContextFactory.java:607): error initializing test context 

The root LoggedException was: Error initializing ApplicationContext 
     at com.hotwg.shared.common.LoggedException.wrap(LoggedException.java:199) 
     at com.hotwg.base.support.context.ApplicationContext.throwUnableToInitializeApplicationContext(ApplicationContext.java:300) 
     at com.hotwg.base.support.context.ApplicationContext.buildSessionFactory(ApplicationContext.java:202) 
     at com.hotwg.base.support.context.ContextFactory.buildContext(ContextFactory.java:131) 
     at com.hotwg.base.support.context.ContextFactory.buildContext(ContextFactory.java:104) 
     at com.hotwg.base.support.context.ContextFactory.createDefaultContext(ContextFactory.java:607) 
     at com.hotwg.base.api.batch.StandaloneExecuter.setupContext(StandaloneExecuter.java:334) 
     at com.hotwg.base.api.batch.StandaloneExecuter.run(StandaloneExecuter.java:135) 
     at com.hotwg.base.api.batch.StandaloneExecuter.main(StandaloneExecuter.java:433) 
     at com.hotwg.base.api.batch.AbstractStandaloneRunner.invokeStandaloneExecuter(AbstractStandaloneRunner.java:546) 
     at com.hotwg.base.api.batch.ThreadPoolWorker.invokeStandaloneExecuter(ThreadPoolWorker.java:122) 
     at com.hotwg.base.api.batch.AbstractStandaloneRunner.run(AbstractStandaloneRunner.java:179) 
     at com.hotwg.base.api.batch.ThreadPoolWorker.run(ThreadPoolWorker.java:66) 
     at com.hotwg.base.api.batch.ThreadPoolWorker.main(ThreadPoolWorker.java:56) 
Caused by: org.hibernate.HibernateException: Error applying BeanValidation relational constraints 
     at org.hibernate.cfg.beanvalidation.BeanValidationIntegrator.applyRelationalConstraints(BeanValidationIntegrator.java:219) 
     at org.hibernate.cfg.beanvalidation.BeanValidationIntegrator.integrate(BeanValidationIntegrator.java:126) 
     at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:302) 
     at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1740) 
     at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1778) 
     at com.hotwg.base.support.context.ApplicationContext.buildSessionFactory(ApplicationContext.java:197) 
     ... 11 more 
Caused by: java.lang.reflect.InvocationTargetException 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
     at java.lang.reflect.Method.invoke(Method.java:606) 
     at org.hibernate.cfg.beanvalidation.BeanValidationIntegrator.applyRelationalConstraints(BeanValidationIntegrator.java:208) 
     ... 16 more 
Caused by: org.hibernate.HibernateException: Unable to build the default ValidatorFactory 
     at org.hibernate.cfg.beanvalidation.TypeSafeActivator.getValidatorFactory(TypeSafeActivator.java:524) 
     at org.hibernate.cfg.beanvalidation.TypeSafeActivator.applyDDL(TypeSafeActivator.java:119) 
     ... 21 more 
Caused by: javax.validation.ValidationException: Unable to find a default provider 
     at javax.validation.Validation$GenericBootstrapImpl.configure(Validation.java:264) 
     at javax.validation.Validation.buildDefaultValidatorFactory(Validation.java:111) 
     at org.hibernate.cfg.beanvalidation.TypeSafeActivator.getValidatorFactory(TypeSafeActivator.java:521) 
     ... 22 more 
Exception in thread "main" com.hotwg.shared.common.LoggedException: 
The following stacked messages were reported as the LoggedException was rethrown: 
com.hotwg.base.support.context.ContextFactory.createDefaultContext(ContextFactory.java:607): error initializing test context 

The root LoggedException was: Error initializing ApplicationContext 
     at com.hotwg.shared.common.LoggedException.wrap(LoggedException.java:199) 
     at com.hotwg.base.support.context.ApplicationContext.throwUnableToInitializeApplicationContext(ApplicationContext.java:300) 
     at com.hotwg.base.support.context.ApplicationContext.buildSessionFactory(ApplicationContext.java:202) 
     at com.hotwg.base.support.context.ContextFactory.buildContext(ContextFactory.java:131) 
     at com.hotwg.base.support.context.ContextFactory.buildContext(ContextFactory.java:104) 
     at com.hotwg.base.support.context.ContextFactory.createDefaultContext(ContextFactory.java:607) 
     at com.hotwg.base.api.batch.StandaloneExecuter.setupContext(StandaloneExecuter.java:334) 
     at com.hotwg.base.api.batch.StandaloneExecuter.run(StandaloneExecuter.java:135) 
     at com.hotwg.base.api.batch.StandaloneExecuter.main(StandaloneExecuter.java:433) 
     at com.hotwg.base.api.batch.AbstractStandaloneRunner.invokeStandaloneExecuter(AbstractStandaloneRunner.java:546) 
     at com.hotwg.base.api.batch.ThreadPoolWorker.invokeStandaloneExecuter(ThreadPoolWorker.java:122) 
     at com.hotwg.base.api.batch.AbstractStandaloneRunner.run(AbstractStandaloneRunner.java:179) 
     at com.hotwg.base.api.batch.ThreadPoolWorker.run(ThreadPoolWorker.java:66) 
     at com.hotwg.base.api.batch.ThreadPoolWorker.main(ThreadPoolWorker.java:56) 
Caused by: org.hibernate.HibernateException: Error applying BeanValidation relational constraints 
     at org.hibernate.cfg.beanvalidation.BeanValidationIntegrator.applyRelationalConstraints(BeanValidationIntegrator.java:219) 
     at org.hibernate.cfg.beanvalidation.BeanValidationIntegrator.integrate(BeanValidationIntegrator.java:126) 
     at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:302) 
     at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1740) 
     at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1778) 
     at com.hotwg.base.support.context.ApplicationContext.buildSessionFactory(ApplicationContext.java:197) 
     ... 11 more 
Caused by: java.lang.reflect.InvocationTargetException 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
     at java.lang.reflect.Method.invoke(Method.java:606) 
     at org.hibernate.cfg.beanvalidation.BeanValidationIntegrator.applyRelationalConstraints(BeanValidationIntegrator.java:208) 
     ... 16 more 
Caused by: org.hibernate.HibernateException: Unable to build the default ValidatorFactory 
     at org.hibernate.cfg.beanvalidation.TypeSafeActivator.getValidatorFactory(TypeSafeActivator.java:524) 
     at org.hibernate.cfg.beanvalidation.TypeSafeActivator.applyDDL(TypeSafeActivator.java:119) 
     ... 21 more 
Caused by: javax.validation.ValidationException: Unable to find a default provider 
     at javax.validation.Validation$GenericBootstrapImpl.configure(Validation.java:264) 
     at javax.validation.Validation.buildDefaultValidatorFactory(Validation.java:111) 
     at org.hibernate.cfg.beanvalidation.TypeSafeActivator.getValidatorFactory(TypeSafeActivator.java:521) 
     ... 22 more 

Répondre

0

Je ne suis pas tout à fait sûr que je comprends parfaitement votre question, mais si le problème est que vous obtenez le stacktrace ci-dessus lorsque vous bootstrap votre application et il disparaît lorsque vous définissez javax.persistence.validation.mode=none, la réponse est la suivante.

La définition du mode de validation indique à ORM, ou plus précisément à BeanValidationIntegrator de ne pas activer la validation du bean. C'est par spécification JPA où le comportement entre JPA et Bean Validation est spécifié.

Dans tout autre mode, le BeanValidationIntegrator essayera d'activer la validation du bean. Il vérifie si javax.validation.Validation est sur le chemin de classe en prenant cela comme une clé pour amorcer la validation du bean. Cependant, il faut également qu'une implémentation de validation de Bean soit disponible, par exemple Hibernate Validator. Votre chemin de pile implique que vous avez l'API de validation de Bean sur le chemin de classe, mais pas de fournisseur de validation de Bean (implémentation).

À quoi ressemblent vos dépendances?

+0

J'ai du mal à voir la connexion ici. SSL concerne le cryptage du trafic TCP/IP. Il n'y a aucun lien avec la validation de Bean. Il doit y avoir plus de choses ici. Je suppose que vous avez des problèmes avec la configuration globale de votre projet, mais vous n'avez fourni aucun détail concernant le contexte dans lequel Bean Validation est utilisé ni aucun détail sur la ou les version (s) de framework (s) en cours. – Hardy

+0

Pour répondre à votre Q- "A quoi ressemblent vos dépendances?" J'ai un ensemble complet de jars hibernet4.1 dans mon chemin de classe et dépendances avec des jars liés à Weblogic. –

0

Dans ma demande, nous utilisons en veille prolongée 4 et après avoir ajouté hibernate-validateur-4.1.0.Final.jar à ClassPath Je ne reçois pas ce exceptoin même si je ne suis pas avoir ce bien immobilier à hibernate.properties: javax.persistence.validation.mode=none

Je suis capable de résoudre ce problème en ajoutant hibernate-validator-4.1.0.Final.jar dans le chemin de classe de l'application.

+0

wlfullclient.jar aura la classe javax.validation.Validation incluse et implicitement. Il déclenche la validation du bootstrap par la classe Bean Validation. De ce fait, l'ajout du fichier hibernate-validation-XX.jar le corrige. Le fichier wlfullclient.jar. Si nous n'incluons pas la classe javax.validaton.Validation dans wlfullclient.jar. Cela sera résolu. J'ai vérifié dans mon chemin de classe wlfullclient.jar est également présent. –