We have a project using hibernate/karaf and we are trying to enable javax
validation. We added the property <property
name="javax.persistence.validation.mode" value="ddl"/> to our
persistence.xml file. But on the startup of the modules we get the following
exception:

2017-05-03 16:10:25,770 | ERROR | aries.jpa.star]) | configadmin                
     
| 10 - org.apache.felix.configadmin - 1.8.8 |
[org.osgi.service.cm.ManagedService, id=233,
bundle=214/mvn:org.apache.aries.jpa/org.apache.aries.jpa.container/2.3.0]:
Unexpected problem updating configuration org.apache.aries.jpa.star
org.hibernate.cfg.beanvalidation.IntegrationException: Bean Validation
provider was not available, but 'ddl' validation was requested
        at
org.hibernate.cfg.beanvalidation.TypeSafeActivator.activate(TypeSafeActivator.java:104)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native 
Method)[:1.8.0_92]
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)[:1.8.0_92]
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[:1.8.0_92]
        at java.lang.reflect.Method.invoke(Method.java:498)[:1.8.0_92]
        at
org.hibernate.cfg.beanvalidation.BeanValidationIntegrator.integrate(BeanValidationIntegrator.java:148)[239:org.hibernate.core:4.3.6.Final]
        at
org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:312)[239:org.hibernate.core:4.3.6.Final]
        at
org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1857)[239:org.hibernate.core:4.3.6.Final]
        at
org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl$4.perform(EntityManagerFactoryBuilderImpl.java:850)[240:org.hibernate.entitymanager:4.3.6.Final]
        at
org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl$4.perform(EntityManagerFactoryBuilderImpl.java:843)[240:org.hibernate.entitymanager:4.3.6.Final]
        at
org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.withTccl(ClassLoaderServiceImpl.java:398)[239:org.hibernate.core:4.3.6.Final]
        at
org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:842)[240:org.hibernate.entitymanager:4.3.6.Final]
        at
org.hibernate.osgi.OsgiPersistenceProvider.createContainerEntityManagerFactory(OsgiPersistenceProvider.java:112)[241:org.hibernate.osgi:4.3.6.Final]
        at
org.apache.aries.jpa.container.impl.ManagedEMF.createAndPublishEMF(ManagedEMF.java:129)[214:org.apache.aries.jpa.container:2.3.0]
        at
org.apache.aries.jpa.container.impl.ManagedEMF.updated(ManagedEMF.java:125)[214:org.apache.aries.jpa.container:2.3.0]
        at
org.apache.felix.cm.impl.helper.ManagedServiceTracker.updated(ManagedServiceTracker.java:189)[10:org.apache.felix.configadmin:1.8.8]
        at
org.apache.felix.cm.impl.helper.ManagedServiceTracker.updateService(ManagedServiceTracker.java:152)[10:org.apache.felix.configadmin:1.8.8]
        at
org.apache.felix.cm.impl.helper.ManagedServiceTracker.provideConfiguration(ManagedServiceTracker.java:85)[10:org.apache.felix.configadmin:1.8.8]
        at
org.apache.felix.cm.impl.ConfigurationManager$ManagedServiceUpdate.provide(ConfigurationManager.java:1444)[10:org.apache.felix.configadmin:1.8.8]
        at
org.apache.felix.cm.impl.ConfigurationManager$ManagedServiceUpdate.run(ConfigurationManager.java:1400)[10:org.apache.felix.configadmin:1.8.8]
        at
org.apache.felix.cm.impl.UpdateThread.run0(UpdateThread.java:143)[10:org.apache.felix.configadmin:1.8.8]
        at
org.apache.felix.cm.impl.UpdateThread.run(UpdateThread.java:110)[10:org.apache.felix.configadmin:1.8.8]
        at java.lang.Thread.run(Thread.java:745)[:1.8.0_92]
Caused by: org.hibernate.cfg.beanvalidation.IntegrationException: Unable to
build the default ValidatorFactory
        at
org.hibernate.cfg.beanvalidation.TypeSafeActivator.getValidatorFactory(TypeSafeActivator.java:462)
        at
org.hibernate.cfg.beanvalidation.TypeSafeActivator.activate(TypeSafeActivator.java:97)
        ... 22 more
Caused by: javax.validation.ValidationException: Unable to create a
Configuration, because no Bean Validation provider could be found. Add a
provider like Hibernate Validator (RI) to your classpath.
        at
javax.validation.Validation$GenericBootstrapImpl.configure(Validation.java:271)
        at
javax.validation.Validation.buildDefaultValidatorFactory(Validation.java:110)
        at
org.hibernate.cfg.beanvalidation.TypeSafeActivator.getValidatorFactory(TypeSafeActivator.java:459)
        ... 23 more

Karaf is version 4.0.6 and we are using Hibernate Validator 4.3.2.Final. The 
Is there a standar way to somehow register the hibernate provider to karaf
classpath. The hibernate feature is overriden by our feature xml in order to
use version 4.3.6 instead of 5.0.3 that is distributed by default with karaf
4.0.6.



--
View this message in context: 
http://karaf.922171.n3.nabble.com/Enable-DDL-Hibernate-Validator-tp4050293.html
Sent from the Karaf - User mailing list archive at Nabble.com.

Reply via email to