我正在将一个使用JPA + Hibernate的现有项目转换为使用Ivy获取其依赖项。我几乎可以获取所有内容,但是在获取JPA时遇到了麻烦。这是我的ivy.xml文件,没有包含JPA:
<ivy-module version="2.0">
<info organisation="xxx" module="dataserver"/>
<dependencies>
<dependency org="commons-logging" name="commons-logging" rev="1.1.1"/>
<dependency org="com.google.guava" name="guava" rev="r07"/>
<dependency org="log4j" name="log4j" rev="1.2.16"/>
<dependency org="org.hibernate" name="hibernate-entitymanager" rev="3.4.0.GA"/>
<dependency org="c3p0" name="c3p0" rev="0.9.1.2"/>
<dependency org="mysql" name="mysql-connector-java" rev="5.1.14"/>
<dependency org="org.slf4j" name="slf4j-log4j12" rev="1.6.1"/>
<dependency org="org.apache.openjpa" name="openjpa-persistence" rev="2.1.0"/>
</dependencies>
</ivy-module>
我本以为在Maven仓库中能轻松找到JPA,但实际上并不是这样。过了一会儿,我找到了OpenJPA:
<ivy-module version="2.0">
<info organisation="xxx" module="dataserver"/>
<dependencies>
<dependency org="commons-logging" name="commons-logging" rev="1.1.1"/>
<dependency org="com.google.guava" name="guava" rev="r07"/>
<dependency org="log4j" name="log4j" rev="1.2.16"/>
<dependency org="org.hibernate" name="hibernate-entitymanager" rev="3.4.0.GA"/>
<dependency org="c3p0" name="c3p0" rev="0.9.1.2"/>
<dependency org="mysql" name="mysql-connector-java" rev="5.1.14"/>
<dependency org="org.slf4j" name="slf4j-log4j12" rev="1.6.1"/>
<dependency org="org.apache.openjpa" name="openjpa-persistence" rev="2.1.0"/>
</dependencies>
</ivy-module>
尽管下载速度较慢,但似乎包含了我所缺少的接口/类,例如
EntityManager
。然而,它与我之前拥有的分布式Hibernate的JPA版本不同,因为我现在缺少EntityManager.createQuery(String,Class)
方法。但是我无法找到任何比OpenJPA 2.1.0更新的版本。在Maven库中,什么是适当的JPA源呢?
EntityManager
接口位于ejb3-persistence
中。 - Thomas