gpt4 book ai didi

java - 是否可以通过 jboss-deployment-struction.xml 配置 JPA 2.1,为 Spring 4 和 Hibernate 4.3.10 配置 JBoss EAP 6.4.x?

转载 作者:行者123 更新时间:2023-12-02 04:30:04 32 4
gpt4 key购买 nike

我们最近切换到 Java 8 以使用 java.time API(LocalDate、LocalDateTime,...)。因此,我们将 Hibernate 依赖项更新到版本 4.3.10。我们编写了一些 AttributeConverters 来帮助 Hibernate 将新的 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 一起提供。因此,我们会遇到一些部署错误。我们怎样才能让我们的 JPA 2.1 应用程序在 JBoss 上运行!?

  • 我们是否应该将 Hibernate 降级到低于 4.3.10 的 Hibernate 版本才能使用 JPA 2.0?

  • 或者有没有一种好的方法可以使用 jboss-deployment-struct.xml 排除 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 应该没问题。

我不建议修改 hibernate jar 或手动包含 JPA 2.1 jar。 JPA 还有其他方面,例如 JBoss 中 Infinispan 实现的二级缓存可能尚未使用 JPA 2.1 缓存存储进行测试。

如果您确实需要使用 JEE7 JBoss 容器,请查看 WilFLy 9 。但是,这是社区构建,因此不支持。

关于java - 是否可以通过 jboss-deployment-struction.xml 配置 JPA 2.1,为 Spring 4 和 Hibernate 4.3.10 配置 JBoss EAP 6.4.x?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31578561/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com