最近学习了JPA,涉及的知识点很多,主要把自己理解的一些重点及难点总结下,主要内容如下:
一、JPA核心概念
1. JPA相关知识概述
1. 1 什么是数据持久化?
程序(内存)中的数据以某种形式保存到存储介质中,比如文件,数据库等,以达到持久化,避免数据丢失的目的。如图:
1.2 持久化技术
序列化:
java内置的持久化对象的机制,以二进制字节码的形式写到硬盘文件中
JDBC:
把数据保存到关系型数据库,不支持对象数据
对象关系映射ORM:
把java对象映射到关系型数据库
JAVA数据对象JDO:
java对象持久化规范,基于对象数据库ODB(直接保存java对象)
EJB(
EJB2.x
)中的实体bean:
管理持久化数据的组件框架
1)JPA
与其他持久化技术的比较
|
序列化
|
JDBC
|
ORM
|
JDO(
ODB)
|
JPA
|
持久化
Java
对象
|
是
|
否
|
是
|
是
|
是
|
具备面向对象特征
|
是
|
否
|
是
|
是
|
是
|
事务完整性
|
否
|
是
|
是
|
是
|
是
|
并发性
|
否
|
是
|
是
|
是
|
是
|
大数据集
|
否
|
是
|
是
|
是
|
是
|
对现有的关系数据库数据的支持
|
否
|
是
|
是
|
否
|
是
|
数据查询
|
否
|
是
|
是
|
是
|
是
|
严格标准
/
可移植性
|
是
|
否
|
否
|
否
|
是
|
2)EJB与JPA的关系
EJB 2.X
中,
实体bean就是用来管理持久化数据的组件框架
,但
最大的缺点是规定了太过于严格的标准
,使得开发复杂。
EJB
3中的实体
Bean
(
Entity Bean
)逐渐使用新的规范
JPA
替代。并且
JPA
不仅能在
EJB
环境中使用,也能在
J2SE
的环境中使用,相对于
EJB 2.X
中的实体
Bean
,使用的范围更光阔。
如图
所示,清楚的表明了
EJB3
与
JPA
的关系。
1.3 什么是JPA?
全称是 Java Persistence
API,
主要是解决各种ORM框架的差异,而由SUN在J2EE5规范中提出的Java对象持久化规范。
JPA
吸取了目前
Java
持久化技术的优点,规范、简化了
Java
对象的持久化工作。核心
包含一套接口,但没有提供实现,目前已有Hibernate,OpenJPA,TopLink等框架实现了JPA规范。
2. 理解 实体 实体管理器 持久化上下文 事务管理
二、JPA实体的状态变化(待续)
三、JPA实战(待续)
3.1 J2SE
3.2 J2EE
【学习资料】
推荐书籍:EJB JPA数据库持久层开发详解;
博客部分章节
- 大小: 22.8 KB
- 大小: 32.8 KB
- 大小: 19.6 KB
- 大小: 324.5 KB
分享到:
相关推荐
### JPA 学习笔记详解 #### 一、JPA 概述 Java Persistence API (JPA) 是 Sun 公司提出的一种 Java 持久层标准,它为 Java 开发者提供了一种对象关系映射 (ORM) 的工具来管理 Java 应用程序中的关系型数据。JPA ...
### 传智播客JPA学习笔记知识点梳理 #### 一、JPA概述与核心价值 - **定义**: JPA (Java Persistence API) 是由 Sun 官方提出的一种 Java 持久化标准,旨在为 Java 开发者提供一套统一的对象-关系映射 (ORM) 工具,...
**Java Persistence API (JPA)** 是Java平台上的...以上就是JPA学习笔记中的关键知识点,涵盖了JPA的基本概念、环境配置、对象关系映射、查询语言、事务管理、关联关系等多个方面,对于理解和应用JPA有重要的指导作用。
传智播客——JPA学习笔记 网络上有一份pdf格式的《JPA学习笔记》,但是内容排版有点乱,而且有缺失的部分,小弟从原来的blog处拷贝出来,并加以排版,制作成了chm格式的,大家应该知道chm格式比较适合作为参考资料或...
### JPA学习笔记-EJB-02JPA属性注解 #### 一、引言 在上一篇文章中,我们简要介绍了Java Persistence API (JPA)的基础知识,包括它的基本部署和操作流程,从而让我们对JPA有了初步的认识。本文将继续深入探讨JPA的...
### Spring-data-jpa 学习笔记 #### 一、spring-data-jpa的简单介绍 Spring Data JPA 是 Spring Data 的一部分,它简化了基于 Java Persistence API (JPA) 的数据访问层开发工作。Spring Data 旨在减少数据访问层...
在"spring-data-JPA学习笔记"中,我们主要关注的是如何使用JPA进行CRUD操作以及一些常用的查询方法。 首先,Spring Data JPA 提供了一种基于方法名的自动查询映射机制。例如,`findByUsernameAndPassword(String ...
JPA(Java Persistence API)是Java平台上的一个规范,用于管理和持久化Java对象到数据库。它为开发人员提供了一种ORM(Object-Relational Mapping)机制,使得在Java应用中操作数据库变得更加简单。JPA通过元数据...
本篇笔记主要聚焦于JPA的关联映射,这是JPA中一个重要的概念,用于定义实体之间的关系。 关联映射允许我们将数据库中的表关系映射到Java对象的关联上。在Hibernate中,这些关系通常通过XML配置文件来定义,而在JPA...
本篇学习笔记主要探讨了JPA中实体的状态及其转换,包括New、Managed、Detached和Removed四种状态。 首先,实体(Entity)是JPA中的核心概念,它代表数据库中的一个记录。实体的身份(Identity Fields)用于唯一标识...
### JPA主键生成策略详解 #### 一、概述 持久化对象的主键生成机制在JPA(Java Persistence API)中占据着重要的位置。它不仅关乎数据的唯一标识符如何确定,还与数据的存储效率及应用逻辑紧密相关。JPA通过`@...
### JPA实体对象状态 #### 一、实体对象的状态分类 在Java Persistence API (JPA) 中,实体对象的状态管理是实现数据持久化的基础之一。根据实体对象与实体管理器(EntityManager)之间的交互关系,实体对象可以...
### JPA学习文档知识点概述 #### 1. JPA简介 - **定义**: JPA (Java Persistence API) 是由Sun官方提出的一种Java持久化规范,旨在简化Java应用程序中关系型数据库的操作过程。其核心目标是统一现有的ORM (Object-...
JPA学习笔记** 学习笔记可能涉及更深入的话题,如: - **懒加载(Lazy Loading)与急加载(Eager Loading)**: 管理关联对象的加载时机。 - **继承映射(Inheritance Mapping)**: 包括单表继承、联合继承和表格...