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.