版本为 4.3.5.Final 的休眠工件 ID "hibernate-core",版本 3.2.3.ga 的工件 ID "hibernate"



我按照一个教程开始使用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核心进行编译(hibernate.org上提供),所有必要的东西都下载了,样本也用它成功运行了。

我尝试在.m2中查看hibernate核心的pom.xml,并注意到这里添加了对dom4j和事务之类的依赖关系。(因此可能不需要添加示例的pom.xml)。还注意到,transaction API现在以Jboss.spec.javax.的形式使用

我很困惑,正确的方法是什么?hibernate核心是最新的做事方式吗?与"hibernate"工件有什么区别?为什么像事务API实现这样的东西从java.transaction to org.jboss.spec.javax.transaction更改?

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

从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-首次应用程序设置

最新更新