Java – JPA from Maven repository and ivy
I'm using JPA hibernate to transform an existing project to use ivy to get its dependencies I can get almost everything, but I can't get JPA This is my Ivy without JPA xml:
<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>
I hope to find JPA easily in Maven repository, but this is not the case After a while, I found 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>
Although the download speed is slow, it does contain interfaces / classes I lack, such as entitymanager However, it is different from the JPA version I distributed with hibernate because I now miss the entitymanager Createquery (string, class) method But I can't find anything better than 2.1 0 or later openjpa
What is the correct JPA source in the Maven repository?
Solution
If you still have Maven version, you can call MVN dependency: tree and view the groupid and artifactid that hibernate will define on its dependencies (unless hibernate is provided)
Edit:
What hibernate dependencies do we have when using Maven
<dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-core</artifactId> <version>3.3.2.GA</version> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>ejb3-persistence</artifactId> <version>1.0.2.GA</version> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-annotations</artifactId> <version>3.4.0.GA</version> </dependency>
This is ivy XML equivalent:
<dependency org="org.hibernate" name="ejb3-persistence" rev="1.0.2.GA"/> <dependency org="org.hibernate" name="hibernate-annotations" rev="3.4.0.GA"/> <dependency org="org.hibernate" name="hibernate-core" rev="3.3.2.GA"/>