Я использую JPA 2.0 с Spring и гибернацией в своем проекте.
Однако среда выполнения — WAS 6.1.
Сборка проходит нормально.
Однако во время развертывания приложения я получаю следующую ошибку:
com.ibm.ws.exception.RuntimeError: java.lang.RuntimeException: java.lang.NoSuchMethodError: javax/persistence/spi/PersistenceUnitInfo.getValidationMode()Ljavax/persistence/ValidationMode;
При поиске класса PersistenceUnitInfo с помощью ctrl + shift + T я обнаружил, что он находится в следующих банках:
\IBM\SDP\runtimes\base_v61\lib\j2ee.jar
и
\WEB-INF\lib\hibernate-jpa-2.0-api-1.0.1.Final
Я извлек вышеуказанный класс из обоих JARS и декомпилировал их, используя JAD для сравнения.
Я обнаружил, что метод getValidationMode() отсутствует в j2ee.jar, но присутствует в банке hibernate-jpa.
Это причина ошибки, которую я получаю??? Как это решить?? Как я могу сказать веб-сфере искать класс в банке гибернации, а не в библиотеке времени выполнения сервера ???