java - Hibernate Artifact ID "hibernate-core",版本 4.3.5.Final 和 Artifact ID "hibernate",版本 3.2.3.ga

标签 java spring hibernate maven jpa

我正在按照 Hibernate 入门教程进行操作,其中给出了将 Hibernate Artifact id 添加为的注释

<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate</artifactId>
    <version>3.2.3.ga</version>
</dependency>

还有很多其他依赖项,如 dom4j、javax.transaction (JTA) 等。

但是最新的 hibernate 版本是“4.3.5.Final”(从 hibernate.org 收集),并且给出的 Artifact ID 是:

<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-core</artifactId>
    <version>4.3.5.Final</version>
</dependency>

无需在我的示例的 pom.xml 中添加额外的依赖项

当我用教程方式编译我的项目时,在我的 .m2 目录中创建了 org.hibernate,它包含了示例运行所需的一切。

我删除了存储库中的所有内容,并仅使用 hibenate-core(在 hibernate.org 上给出)进行编译,所有必要的内容都已下载,并且示例也成功运行了。

我尝试查看 .m2 中 hibernate-core 的 pom.xml,并注意到此处添加了 dom4j 和事务等内容的依赖项。 (因此可能不需要在示例的 pom.xml 中添加)。还注意到交易 API 现在使用 Jboss.spec.javax 形式。

我很困惑,正确的方法是什么? hibernate-core 是最新的做事方式吗?与“hibernate” Artifact 有什么区别?为什么像事务 API 实现这样的事情从 java.transaction 更改为 org.jboss.spec.javax.transaction

我在哪里可以找到这些内容的详细信息?

最佳答案

从 hibernate 4 开始,maven Artifact 被分成单独的模块而不是单个 jar。从 hibernate 4 开始,推荐的方法是使用 hibernate-core Artifact 。请阅读手册第 1.1.1 节:http://docs.jboss.org/hibernate/orm/4.3/manual/en-US/html_single/#tutorial-firstapp-setup

关于java - Hibernate Artifact ID "hibernate-core",版本 4.3.5.Final 和 Artifact ID "hibernate",版本 3.2.3.ga,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23000536/

相关文章:

java - 一个类如何继承 Object 类和另一个显式父类(super class)?

Java - 部分修改文件

java.lang.OutOfMemory错误: Java heap space:Trying to use jasper exportreport method

java - Spring 3 Web 请求拦截器——如何获取 BindingResult?

java - HQL语法错误

spring - 以编程方式将 cacerts 文件添加到信任库

java - 如何在 Spring 中设置 SNAPSHOT 隔离级别

nhibernate - 如何使用 NHibernate 和 Spring 为死锁配置 RetryAdvice 和 ExceptionTranslation

java - native 查询可以使用 sqlDeveloper,但使用 hibernate 时失败

java - 带有计数函数aliasToBean的sql条件Hibernate问题