更多JPA开发在框架开发
1 什么是JPA开发?
JPA是Java Persistence API的简称,中文名Java持久层API,是JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。 —–百度百科
Hibernate技术出现后,各种ORM模型相继出现,为了同一的规范,创造Hibernate的团队规定了ORM的一套规范,也就是JPA 。
2 单表(user)案例入门JPA开发
Hibernate中有JPA的规范和实现,所以JPA的资源包同Hibernate的资源包是一样的,在Hibernate官网中下载,本文用的是
hibernate-release-5.2.17.Final
。
2.1 JPA 环境
hibernate 相关: hibernate-release-5.2.17.Final/lib/required
下的所有jar包
jpa 相关 : hibernate-release-5.2.17.Final/lib/jpa-metamodel-generator
下的一个jar包
数据库相关: mysql包(自行下载)和c3p0(hibernate-release-5.2.17.Final/lib/optional/c3p0
下的所有jar包)
日志jar包 : log4j 、slf4j(自行下载)
创建数据库: create database db_jpa ;
2.1 persistence.xml
src下创建名字为META-INF
的文件夹,文件夹下创建persistence.xml
文件(位置名字都是固定的)。
<?xml version="1.0" encoding="UTF-8"?>
<!--
persistence标签中的属性和属性值可在hibernate-jpamodelgen-5.2.17.Final.jar\persistence_2.1.xsd
中找到
-->
<persistence xmlns="http://xmlns.jcp.org/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence
http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd"
version="2.1">
<!-- 配置持久化单元,可以配置多个,名称不能重复
transaction-type是事务类型:JTA ,RESOURCE_LOCAL是本地事务
-->
<persistence-unit name="JPAUnit01" tra