Wir verwenden Oracle Weblogic Server 10.3.6. Es enthält zur Laufzeit OpenJPA und EclipseLink im Klassenpfad. Wir aktivieren JPA2 mit der folgenden Zeile in der commEnv.cmd:Hibernate Validator verwendet falschen Persistence Provider
set PRE_CLASSPATH=BEA_HOME\modules\javax.persistence_1.1.0.0_2-0.jar;
%BEA_HOME%\modules\com.oracle.jpa2support_1.0.0.0_2-1.jar
Wenn wir Bean Validation mit validator.validate() verwenden, gibt es folgende AbstractMethodError: org.apache.openjpa.persistence.PersistenceProviderImpl.getProviderUtil() Ljavax/Persistenz/Spi/ProviderUtil;
Es funktioniert, wenn wir javax.persistence_1.0.0.0_1-0-2.jar statt javax.persistence_1.1.0.0_2-0.jar konfigurieren, aber wir brauchen 2.0. Und offensichtlich verwendet der Validierungsanbieter OpenJPA, aber er sollte Eclipselink verwenden.
Zur Entwicklungszeit verwenden wir den Hibernate Validator. Aber welcher Validierungsanbieter verwendet Weblogic und wie können wir den Validierungsanbieter zwingen, Eclipselink als Persistenz-Provider zu verwenden? Was bedeutet die Fehlermeldung?
Warum sollte eine BeanValidation API-Implementierung JEDE JPA-Implementierung verwenden? Was lässt dich sagen, dass es so ist? Wo ist der Stack-Trace, der das sagt? Ein JPA-Provider kann eine BeanValidation-API-Implementierung verwenden ... dh umgekehrt –
Wenn ich hibernate.ValidatorImpl.validate() aufruft, wird ein Fehler mit der Nachricht: org.apache.openjpa.persistence.PersistenceProviderImpl.getProviderUtil() Ljavax zurückgegeben/Persistenz/spi/ProviderUtil. Das bedeutet, der Hibernate-Validator verwendet den Persistenzanbieter. Irgendeine Idee? – Fireworx
POST THE STACK TRACE .... in Ihrer Frage! –