【问题标题】:does anyone know which version of hibernate tools is JPA 2.0 compliant有谁知道哪个版本的休眠工具是符合 JPA 2.0 的
【发布时间】:2023-03-09 02:37:01
【问题描述】:

我使用 hibernate-tools-4.0.0-CR1.jar 在生成 informix (11.7) 逆向工程实体方面存在一些问题,我想尝试早期版本以查看是否有帮助,但文档不清楚关于符合 JPA 2.0 的版本。

maven 仓库链接:http://mvnrepository.com/artifact/org.hibernate/hibernate-tools

提前致谢。

【问题讨论】:

  • JPA 规范没有定义“逆向工程”。因此,没有那种性质的“工具”是“符合 JPA 的”。 JPA 仅定义持久性(JPA2.1 也定义了一些模式生成 - 唯一涵盖的内容)
  • Hibernate 本身确实提供 JPA 合规性(如 @DataNucleus 所示),但提供了超出 JPA 的附加功能。我不希望 Hibernate 逆向工程工具将自身限制为 JPA 功能,除非它具有特定的文档选项。
  • 也许您必须深入了解 GitHub 上的 sources ?当前版本(头)是 4.0.0-CR1。在 lib/testlibs 中,有 hibernate-jpa-2.0-api-1.0.1.Final.jar
  • 在类 EntityPOJOClass - source... 中生成了很多 JPA 注释,但自 JPA 1.0 以来似乎没有变化。并且没有 JPA 2.0 特定的注释。

标签: hibernate jpa reverse-engineering informix hibernate-tools


【解决方案1】:

我也在研究这个话题,并得出一些结论,但我不是专家,所以我很感激任何纠正

如果我没记错的话,Hibernate 是从 3.5 版开始的符合 JPA 2.0 的超集。根据我的阅读,最新的 4.x 版本是 JPA 合规性 2.1 的候选版本。

无论如何,htere 是一个标志,用于配置它以单独输出 JPA 注释(在 Hibernate Tools for Eclipse 的情况下,您会在启动配置菜单中被询问),甚至添加一些 EJB3 到混合中,以实现纯粹的标准合规性

如果您使用“Core”标志进行反向工程生成,它似乎映射到 cfg XML,如果您使用“Annotations”,它会输出 Hibernate 的 org.hibernate.* 注释,但使用“JPA”你是完全使用 javax.persistance.* 的,至少对于我目前检查的那些基本的东西。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-22
    • 2014-08-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多