是否可以使用 JPA 2.1 通过 jboss-部署-structure.xml 配置 JBoss EAP 6.4.x 用于 Spring 4 和 Hibernate 4.3.10 ?
Is it possible to configure JBoss EAP 6.4.x for Spring 4 and Hibernate 4.3.10 using JPA 2.1 by configuring it over jboss-deployment-structure.xml?
我们最近切换到 Java 8 以使用 java.time API(LocalDate、LocalDateTime,...)。因此,我们将 Hibernate 依赖项更新到版本 4.3.10。我们写了一些 AttributeConverters 来帮助 Hibernate 将 new Java 8 类 映射到数据库。
例如
@Converter(autoApply = true)
public class LocalDateConverter implements AttributeConverter<LocalDate, Date>
要使用 javax.persistence.Converter 和 javax.persistence.AttributeConverter,我们必须将 Hibernate 更新到 4.3.10 才能使用 JPA 2.1。但是 JBoss EAP 6.4.x 不支持 JPA 2.1 并且随 JPA 2.0 一起提供。因此,我们会遇到一些部署错误。我们怎样才能在 JBoss!?
上获得我们的 JPA 2.1 应用程序 运行
我们是否应该将 Hibernate 降级到低于 4.3.10 的 Hibernate 版本以使用 JPA 2.0?
或者是否有使用 jboss-deployment-structure.xml?[=16= 排除 JPA 2.0 的好方法]
您混淆了 Java8/JDK8 与 JEE7 规范。 JBoss EAP 6.4 是一个 JEE6 容器。 JEE6 需要 JPA 2.0,这就是您在 JBoss EAP 6.4 中实现 JPA 2.0 的原因。一旦 JBoss 发布了 JEE7 实现的容器,您应该可以在那里使用 JPA 2.1。
在JDK8上使用JBoss EAP 6.4 运行应该没问题。
我不建议修改休眠 jar 或手动包含 JPA 2.1 jar。 JPA 还有其他方面,例如由 Infinispan 在 JBoss 中实现的二级缓存可能尚未使用 JPA 2.1 缓存存储进行测试。
如果您确实需要使用 JEE7 JBoss 容器,请查看 WilFLy 9。但是,这是社区构建,因此不受支持。
我们最近切换到 Java 8 以使用 java.time API(LocalDate、LocalDateTime,...)。因此,我们将 Hibernate 依赖项更新到版本 4.3.10。我们写了一些 AttributeConverters 来帮助 Hibernate 将 new Java 8 类 映射到数据库。
例如
@Converter(autoApply = true)
public class LocalDateConverter implements AttributeConverter<LocalDate, Date>
要使用 javax.persistence.Converter 和 javax.persistence.AttributeConverter,我们必须将 Hibernate 更新到 4.3.10 才能使用 JPA 2.1。但是 JBoss EAP 6.4.x 不支持 JPA 2.1 并且随 JPA 2.0 一起提供。因此,我们会遇到一些部署错误。我们怎样才能在 JBoss!?
上获得我们的 JPA 2.1 应用程序 运行我们是否应该将 Hibernate 降级到低于 4.3.10 的 Hibernate 版本以使用 JPA 2.0?
或者是否有使用 jboss-deployment-structure.xml?[=16= 排除 JPA 2.0 的好方法]
您混淆了 Java8/JDK8 与 JEE7 规范。 JBoss EAP 6.4 是一个 JEE6 容器。 JEE6 需要 JPA 2.0,这就是您在 JBoss EAP 6.4 中实现 JPA 2.0 的原因。一旦 JBoss 发布了 JEE7 实现的容器,您应该可以在那里使用 JPA 2.1。
在JDK8上使用JBoss EAP 6.4 运行应该没问题。
我不建议修改休眠 jar 或手动包含 JPA 2.1 jar。 JPA 还有其他方面,例如由 Infinispan 在 JBoss 中实现的二级缓存可能尚未使用 JPA 2.1 缓存存储进行测试。
如果您确实需要使用 JEE7 JBoss 容器,请查看 WilFLy 9。但是,这是社区构建,因此不受支持。