一、JPA的概念以及它和Hibernate的关系
(一)JPA是一套ORM规范,相当于一个API(接口),hibernate实现了JPA规范
(二)hibernate中有自己的独立ORM操作数据库方式,也有JPA规范实现的操作数据的方式
(三)在数据库的CRUD操作中,hibernate和JPA都会用到
二、JPA的环境搭建和入门案例
(一)创建项目,准备数据库,导入jar包
(二)在src目录下面创建一个META-INF文件夹,在该文件夹下创建persistence.xml文件(该文件夹和文件的名称位置都不能该),然后引入XMLSchema约束
上面这些网址的查找方式如下:
(三)在jpa的主配置文件中写配置信息
(四)添加注解,使用的注解都是JPA规范的,所以在实体类中导包都需要导入javax.persistence包下的
(五)编写JPA的工具类,创建一个类叫JPAUtil.java
三、JPA的CRUD操作
(一)保存
(二)查询
(三)修改
(四)删除
(五)查询所有
(六)find方法时立即加载,getReference方法时延迟加载
四、JPA中实现一对多的映射配置和操作
(一)主表中的配置:
(二)从表中的配置:
(三)ManyToOne或者OneToMany中的其他属性:
cascade:级联,属性值CascadeType.XXX(XXX选择javax.persistence包的属性值)
fetch:加载方式,属性值FetchType.XXX(EAGER:立即加载;LAZY:延迟加载)
五、JPA中实现多对多的映射配置和操作
(一)配置主键的方法
(二)一张多方的表的配置(放弃维护关联关系)
(二)另一张多方表的配置
(四)双向级联删除不管是hibernate或者是JPA都不能配置
六、基于JPA的映射配置和hibernate操作组合使用
(一)在JPA中如何获取到hibernate中的Session对象
(二)在JPA中使用C3P0连接池时,跟hibernate的配置方法一样,导包,然后在配置文件中添加配置信息即可
(三)在JPA中将EntityManage和线程进行绑定的方法
(A)利用Spring
(B)自己写代码