Hibernate artifact id" hibernate-core"版本4.3.5.Final和artifact id" hibernate"版本3.2.3.ga

时间:2014-04-10 22:55:13

标签: java spring hibernate maven jpa

我正在按照一个教程来开始使用Hibernate,有一个注释要添加Hibernate工件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收集),并且给出了工件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)。还注意到trasaction API现在用于Jboss.spec.javax。

我很困惑,这是正确的方法吗? hibernate-core是最新的做事方式吗?和“休眠”神器有什么区别?为什么事务API实现的内容会从java.transaction to org.jboss.spec.javax.transaction更改为

我在哪里可以找到详细信息?

1 个答案:

答案 0 :(得分:2)

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