JPA

JPA概述

JPA是什么

来源
JPA (Java Persistence API)Java持久化API。是一套Sun公司Java官方制定的ORM 方案,是规范,是标准 ,sun公司自己并没有实现

关注点:ORM  ,标准 概念 (关键字)

ORM是什么

ORM(Object Relational Mapping)对象关系映射。

问:ORM有什么用?

在操作数据库之前,先把数据表与实体类关联起来。然后通过实体类的对象操作(增删改查)数据库表,这个就是ORM的行为!

所以:ORM是一个实现使用对象操作数据库的设计思想!!!

通过这句话,我们知道JPA的作用就是通过对象操作数据库的,不用编写sql语句。

JPA的实现者

既然我们说JPA是一套标准,意味着,它只是一套实现ORM理论的接口。没有实现的代码。

那么我们必须要有具体的实现者才可以完成ORM操作功能的实现!

市场上的主流的JPA框架(实现者)有:

Hibernate (JBoos)、EclipseTop(Eclipse社区)、OpenJPA (Apache基金会)。

其中Hibernate是众多实现者之中,性能最好的。所以,我们本次教学也是选用Hibernate框架作为JPA的主讲框架。

提醒:学习一个JPA框架,其他的框架都是一样使用

JPA的作用是什么(问题)

JPA是ORM的一套标准,既然JPA为ORM而生,那么JPA的作用就是实现使用对象操作数据库,不用写SQL!!!.

问题:数据库是用sql操作的,那用对象操作,由谁来产生SQL?

答:JPA实现框架

入门示例

任何框架的学习,都建议从配置流程图开始。所以我们来一起理解JPA的配置流程图。

JPA常用 API说明

映射注解说明

注解说明

@Entity声明该实体类是一个JPA标准的实体类

@Table指定实体类关联的表,注意如果不写表名,默认使用类名对应表名。

@Column指定实体类属性对应的表字段,如果属性和字段一致,可以不写

@Id声明属性是一个OID,对应的一定是数据库的主键字段

@GenerateValue声明属性(Object ID)的主键生成策略

@SequenceGenerate使用SEQUENCE策略时,用于设置策略的参数

@TableGenerate使用TABLE主键策略时,用于设置策略的参数

@JoinTable关联查询时,表与表是多对多的关系时,指定多对多关联表中间表的参数。

@JoinColumn关联查询时,表与表是一对一、一对多、多对一以及多对多的关系时,声明表关联的外键字段作为连接表的条件。必须配合关联表的注解一起使用

@OneToMany关联表注解,表示对应的实体和本类是一对多的关系

@ManyToOne关联表注解,表示对应的实体和本类是多对一的关系

@ManyToMany关联表注解,表示对应的实体和本类是多对多的关系

@OneToOne关联表注解,表示对应的实体和本类是一对一的关系

JPA常用API说明

API说明

Persistence用于读取配置文件,获得实体管理工厂

EntityManagerFactory用于管理数据库的连接,获得操作对象实体管理类

EntityManager实体管理类,用于操作数据库表,操作对象

EntityTransaction用于管理事务。开始,提交,回滚

TypeQuery用于操作JPQL的查询的

Query用于操作JPQL的查询接口,执行没有返回数据的JPQL(增删改)

CriteriaBuilder用户使用标准查询接口 Criteria查询接口

posted @ 2022-05-18 16:52  来一杯coffee  阅读(7)  评论(0)    收藏  举报