1 / 37
文档名称:

JPA基础综述.pptx

格式:pptx   大小:965KB   页数:37页
下载后只包含 1 个 PPTX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

JPA基础综述.pptx

上传人:联系 2017/8/4 文件大小:965 KB

下载得到文件列表

JPA基础综述.pptx

相关文档

文档介绍

文档介绍:第12讲 Java Persistence API
(JPA)基础
主要内容
JPA概述
JPA概念
实体
ORM注解
使用JPA
常用类
示例
JPQL
2
JPA概述
Java Persistence API
用于对象持久化的API
是Java EE平台标准的 ORM 规范,使得应用程序以统一的方式访问持久层。
3
JPA本质上就是一种ORM规范,不是ORM框架——因为JPA并未提供ORM实现,它只是制订了一些规范,提供了一些编程的API接口,但具体实现则由相应服务器厂商来提供实现
JPA概述-续
ORM
Object Relational Mapping
Java 对象与关系数据库表间的映射
JPA
通过 JDK 注解或 XML 描述对象-关系表的映射关系
并将运行期的实体对象持久化到数据库中
Sun希望整合ORM技术,统一各种ORM框架的规范,实现天下归一。
JPA提供了现有ORM实现框架功能的核心子集
4
JPA概述-续
JPA包含三方面的技术
ORM映射元数据:
JPA支持XML和 JDK 注解两种元数据的形式,元数据描述对象和表之间的映射关系,框架据此将实体对象持久化到数据库表中。
JPA的API:
用来操作实体对象,执行CRUD操作,框架在后台替我们完成所有的事情,开发者从繁琐的 JDBC和 SQL代码中解脱出来。
查询语言JPQL:
这是持久化操作中很重要的一个方面,通过面向对象而非面向数据库的查询语言查询数据,避免程序的 SQL语句紧密耦合。
5
实体(Entity)
一个实体是一个轻量级的持续化域对象。
通常一个实体表示关系数据库中的一张表
实体的每个实例对应表中的一行
6
User表
实体(Entity)
7
对应于User表的User实体类
实体类是一个POJO类
利用ORM注释,指明实体和表间的映射关系
指明User是实体类
指明“id”属性对应User表的主键列
类名与表名同名,
若不同名则用:***@Table(name="User")
格式化时间日期
DATE: 2016-11-20
TIME: 22:50:30
TIMESTAMP:2016-11-20 22:50:30
实体基本注解-1
***@Entity
将对象标注为一个实体,表示需要保存到数据库中
***@Table
默认情况下类名即为表名,通过name属性显式指定表名
8
实体基本注解-2
***@Id
对应的属性是表的主键
***@GeneratedValue
主键的产生策略,通过strategy属性指定;
默认情况下,JPA自动选择一个最适合底层数据库的主键生成策略可供选择的策略
IDENTITY:表自增键字段(SqlServer对应策略,Oracle不支持这种方式)
AUTO: JPA自动选择合适的策略,是默认选项(MySql对应策略);
SEQUENCE:通过序列产生主键,通过***@SequenceGenerator注解指定序列名(如Oracle的Sequence, MySql不支持这种方式);
TABLE:通过表产生主键,使用该策略可以使应用更易于数据库移植。不同的 JPA实现商生成的表名是不同的。
9
实体基本注解-3
***@EmbeddedId或***@IdClass
组合关键字
***@Column
属性对应的表字段
10
***@Column(name = " contact_name ")  private String name;
***@Column(name = " contact_name ")  public String getName() { 
return name;  }
方法1
方法2