【发布时间】:2011-10-12 23:04:33
【问题描述】:
我正在尝试将 Java 域和服务层与 Grails 应用程序集成。 Java 项目使用 Maven 构建,Grails 项目从 Maven 存储库加载 JAR。服务项目包含一个 XML Spring 配置文件,它定义了一堆 Spring bean。我正在尝试通过将这些 bean 加载到 grails-app/conf/spring/resources.groovy
beans = {
importBeans('classpath:/applicationContext-services.xml')
}
此文件中的一个bean 是LocalContainerEntityManagerFactoryBean 的一个实例。在尝试创建此 bean 时,我收到错误:
创建类中定义的名称为“entityManagerFactory”的 bean 时出错 路径资源 [applicationContext-services.xml]:init 的调用 方法失败;嵌套异常是 java.lang.NoSuchMethodError: javax.persistence.spi.PersistenceUnitInfo.getValidationMode()Ljavax/persistence/ValidationMode;
基于 Spring 的 JIRA 中的this issue,看起来根本问题是 Spring 和 Hibernate/JPA 版本之间存在一些不兼容。看来我正在使用:
- Spring 3.0.5.RELEASE
- 休眠 3.6.0.Final
- Hibernate-jpa-2.0-api 1.0.0.Final
我尝试从 Grails 应用程序中删除 Hibernate 插件,但似乎没有任何区别。
【问题讨论】:
标签: hibernate spring grails jpa