Я пытаюсь интегрировать домен Java и сервисный уровень с приложением Grails.Проекты Java создаются с помощью Maven, а проект Grails загружает файлы JAR из репозитория Maven.Проект службы содержит файл конфигурации XML Spring, который определяет группу компонентов Spring.Я пытаюсь сделать их доступными для приложения Grails, загружая эти bean-компоненты в grails-app/conf/spring/resources.groovy
beans = {
importBeans('classpath:/applicationContext-services.xml')
}
Один из bean-компонентов в этом файле является экземпляром LocalContainerEntityManagerFactoryBean
.При попытке создать этот бин я получаю сообщение об ошибке:
Ошибка создания бина с именем 'entityManagerFactory', определенным в ресурсе пути к классу [applicationContext-services.xml]: сбой вызова метода init;вложенным исключением является java.lang.NoSuchMethodError: javax.persistence.spi.PersistenceUnitInfo.getValidationMode () Ljavax / persistence / ValidationMode;
На основании этой проблемы в Spring JIRможет показаться, что основной проблемой является несовместимость версий Spring и Hibernate / JPA.Похоже, что я использую:
- Spring 3.0.5.RELEASE
- Hibernate 3.6.0.Final
- Hibernate-jpa-2.0-api 1.0.0.Final
Я пытался удалить плагин Hibernate из приложения Grails, но, похоже, это не имело никакого значения.