我正在按照一个教程来开始使用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
更改为
我在哪里可以找到详细信息?
答案 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