编者
由于自己是使用Spring Data,所以,所有的代码测试全部使用Spring Data的JPA实现。
因为Hibernate是JPA的实现,后面会看到很多Hibernate的信息。
JPA资料准备
Hibernate
Hiberante ORM官网
注意:从官网可以看到Hibernate对应支持JPA的版本
- JPA 1.0:ORM 3.2+
- JPA 2.0:ORM 3.5+
- JPA 2.1:ORM 4.3+
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>5.2.10.Final</version>
</dependency>
<!-- for JPA, use hibernate-entitymanager instead of hibernate-core -->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>5.2.10.Final</version>
</dependency>
<!-- optional -->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-osgi</artifactId>
<version>5.2.10.Final</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-envers</artifactId>
<version>5.2.10.Final</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-c3p0</artifactId>
<version>5.2.10.Final</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-proxool</artifactId>
<version>5.2.10.Final</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-infinispan</artifactId>
<version>5.2.10.Final</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-ehcache</artifactId>
<version>5.2.10.Final</version>
</dependency>
导入JPA的jar文件
在课程中,若想使用JPA,添加hibernate-entitymanager 注意:在5.2.10版本说明中,已经把entitymanager整合进来。
如何配置核心文件persistence.xml
注意:persistence.xml应当存放在META-INF目录下
<!-- 持久单元 -->
<persistence-unit name="xxx">
<properties>
<!-- 链接数据库的信息、方言、 -->
<property name="xxx" value="xxx" />
<!-- 显示SQL语句 -->
#hibernate.show_sql true
<!-- 自动建表 -->
<!-- 格式化SQL语句 -->
</properties>
</persistence>
如何查找hibernate的官方方言, master/etc/hibernate.properties文件内进行搜索,可以查看源代码查看各个方言的实现。各种hibernate的持久单元的配置选项,都可以在这个配置文件当中找到
XSD文件,注意JPA的版本,应当使用标准的JPA2.1的XSD文件。