需要包括Eclipselink和JPA API。示例Maven依赖项:
<dependencies> <dependency> <groupId>org.eclipse.persistence</groupId> <artifactId>eclipselink</artifactId> <version>2.6.3</version> </dependency> <dependency> <groupId>org.eclipse.persistence</groupId> <artifactId>javax.persistence</artifactId> <version>2.1.1</version> </dependency> <!-- ... --> </dependencies>
休眠核心是必需的。Maven依赖示例:
<dependencies> <dependency> <!-- requires Java8! --> <!-- as of 5.2, hibernate-entitymanager is merged into hibernate-core --> <groupId>org.hibernate</groupId> <artifactId>hibernate-core</artifactId> <version>5.2.1.Final</version> </dependency> <dependency> <groupId>org.hibernate.javax.persistence</groupId> <artifactId>hibernate-jpa-2.1-api</artifactId> <version>1.0.0</version> </dependency> <!-- ... --> </dependencies>
datanucleus-core,datanucleus-api-jpa和datanucleus-rdbms(使用RDBMS数据存储时)是必需的。Maven依赖示例:
<dependencies> <dependency> <groupId>org.datanucleus</groupId> <artifactId>datanucleus-core</artifactId> <version>5.0.0-release</version> </dependency> <dependency> <groupId>org.datanucleus</groupId> <artifactId>datanucleus-api-jpa</artifactId> <version>5.0.0-release</version> </dependency> <dependency> <groupId>org.datanucleus</groupId> <artifactId>datanucleus-rdbms</artifactId> <version>5.0.0-release</version> </dependency> <dependency> <groupId>org.datanucleus</groupId> <artifactId>javax.persistence</artifactId> <version>2.1.2</version> </dependency> <!-- ... --> </dependencies>
JPA要求使用文件persistence.xml,该文件位于META-INFCLASSPATH根目录下。该文件包含JPA可以操作的可用持久性单元的定义。
JPA还允许使用映射配置文件orm.xml,该文件也位于下META-INF。此映射文件用于配置如何将类映射到数据存储,并且是在JPA实体类本身中使用Java注释的替代方法/补充。