简概
对象与关系的范式间的对比
Object | RDBMS | |
---|---|---|
粒度 | 类 | 表 |
继承 | 有 | 没有 |
唯一性 | a==b或a.equals(b) | 主键 |
关联 | 引用 | 外键 |
数据访问 | 逐级访问(如 a.b.c) | SQL |
JPA (Java Persistence API )
JPA 为对象关系映射提供了⼀种基于 POJO 的持久化模型
- 简化数据持久化代码的开发⼯作
- 为 Java 社区屏蔽不同持久化 API 的差异
2006 年,JPA 1.0 作为 JSR 220 的⼀部分正式发布 。也正是同年,Hibernate 3.2 成为 JPA 实现 。
Hibernate
简概
- ⼀款开源的对象关系映射(Object / Relational Mapping)框架
- 将开发者从 95% 的常⻅数据持久化⼯作中解放出来
- 屏蔽了底层数据库的各种细节
发展历程
- 2001年,Gavin King 发布第⼀个版本
- 2003年,Hibernate 开发团队加⼊ JBoss
- 2006年,Hibernate 3.2 成为 JPA 实现
使用参考
https://www.cnblogs.com/mq0036/p/8522150.html
定义 JPA 实体对象
常⽤ JPA 注解
实体
@Entity
,表明该类是一个实体类@MappedSuperclass
,有多个实体类,这些类有一个父类,可以在父类上标注这个注解@Table(name)
,把实体跟对应的表关联起来
主键
@Id
,每个表都有主键,通过该注解来定义主键
-
@GeneratedValue(strategy, generator)
,指定自增主键的生成策略和生成器。@SequenceGenerator(name, seque