【发布时间】:2014-05-24 21:32:21
【问题描述】:
我正在按照教程开始使用 Hibernate,有一个注释将 Hibernate artifact id 添加为
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate</artifactId>
<version>3.2.3.ga</version>
</dependency>
还有很多其他的依赖,比如 dom4j、javax.transaction (JTA) 等等。
但最新的休眠版本是“4.3.5.Final”(从 hibernate.org 收集),并且给定的工件 id 是:
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>4.3.5.Final</version>
</dependency>
无需在我的示例的 pom.xml 中添加额外的依赖项
当我用教程的方式编译我的项目时,在我的 .m2 目录中创建了 org.hibernate,它包含了运行示例所需的一切。
我删除了 repo 中的所有内容并仅使用 hibenate-core(在 hibernate.org 上提供)进行编译,所有必要的东西都已下载,并且示例也成功运行。
我尝试在 .m2 中查看 hibernate-core 的 pom.xml,并注意到此处添加了 dom4j 和事务等依赖项。 (因此可能不需要添加示例的 pom.xml)。还注意到现在使用 Jboss.spec.javax 形式的 trasaction API。
我很困惑,正确的方法是什么? hibernate-core是最新的做事方式吗?与“休眠”神器有什么区别?为什么事务 API 实现之类的东西从 java.transaction to org.jboss.spec.javax.transaction 改变了?
我在哪里可以找到这些东西的详细信息?
【问题讨论】:
标签: java spring hibernate maven jpa