`

JPA笔记

    博客分类:
  • JPA
阅读更多

1.序列化的作用:序列化即串行化(Serialization),JAVA内置持久化的机制,当实现了java.io.Serializable接口可将类对象用java.io.ObjectOutputStream以二进制保存到硬盘,也能用java.io.ObjectInputStream将对象从硬盘读取.

 

2.POJO(Plain Old Java Object): 简单JAVA对象,实际上是普通的JavaBean对象,由一些属性和获得这些属性的Getter和Setter方法组成。

 

3.持久化一个POJO成为Entity类需要注意:
 1)使用@Entity注释,标明实体名,@Table指定一张表,@Column指定一个字段,@Id指定实体主键。
 2)实体类中必须有一个默认的无参构造方法,并必须南声明为public或protected。
 3)将实体类实现Serializable接口,以支持远程调用。

 

4.复合主键类的使用需注意:
 1)必须实现Serializable接口
 2)必须有默认的public无参构造方法
 3)必须覆盖(重写)equals和hashcode方法,equals方法用于判断两对象是否相同,可通过设定为主键的对象的属性值进行判断,hashcode方法返回当前对象的哈希码,生成的hashcode相同的概率越小越好。

 

5.主键的生成策略:(TABLE,SEQUENCE,IDENTITY,AUTO)
 1)SEQUENCE和IDENTITY要在确定的数据库类型中才可使用,SEQUENCE用于ORACLE而不能用于MYSQL数据库,IDENTITY可用于MSSQL
 2)AUTO自动生成主键,由JPA实现者确定,用户没法控制,适用于比较简单主键。
 3)TABLE将主键的值持久化在数据库表中,能够用于多种关系类型数据库。

 

6.实体关系:
 1)单向关联:一个实体引用另一个实体,即通过一个实体可获得另一个实体。如:A--->B,表示A关联到实体B,实体B不关联实体A,实体B作为一个属性在A中存在,通过A可获得B,但不能通过B获得A。
 2)双向关联:两个实体可互相获得对方的引用。如:A----B,实体A作为实体B的属性存在,B也作为A的属性存在,双向关联时要指定关系的维护方和被维护方(一般被维护方有mappedBy标识)。如一对一双向关联中指定:@One to One(mappedBy="XXX").

 

7.一对多关系的表结构的两种设计策略:
 1)外键关联:关系定义在其中一张表中,即在一张表中指定外键。
 2)表关联:表关系定义在第三张表中,即通过中间表来关联。
 外键关联在一方用@JoinColumn指定,表关联@JoinTable指定。

 

8.在双向关联中,在保存实体关系的实体中使用@JoinColumn,在没有保存实体关系的实体中,即关系的被维护方用mappedBy指定所关联的实体。

 

9.JPA常用的集合类:
 1)Collection,是set和list的父类,在不确定set还是list时,使用可初始化为ArrayList或HashSet。
 2)Set集合中的对象不允许重复并且是无序的,可初始化为HashSet.
 3)List集合中的对象允许重复,并且有序排列,DESC为降序,ASC为升序。
 4)Map集合是键(KEY)值(VALUE)对的集合。与Collection是并行关系。

 

10.flush()方法:提交实体状态并保存到数据库中,实现与数据库同步。
refresh()方法:将数据库中数据重新读取到持久化上下文的实体中,并实现与数据库同步。
clear()方法:将持久化上下文中实体全部变成游离态,此时没有与数据库同步的实体,将不会被持久化到数据库中。

分享到:
评论

相关推荐

    Spring Data JPA 笔记

    本笔记将深入探讨Spring Data JPA的核心概念、功能以及如何在实际项目中应用。 首先,我们需要理解JPA的概念。JPA是Java平台上的一个标准,用于管理关系数据库中的数据。它提供了一种面向对象的方式来操作数据库,...

    Spring Data JPA笔记.zip

    JPA 的全称是 Java Persistence API, 即 Java 持久化 API,是 SUN 公司推出的一套基于 ORM 的规范,内部是由一系列的接口和抽象类构成。JPA 的查询语言是面向对象而非面向... 本文档包含了JPA的课件笔记与学习标注。

    SpringData JPA笔记.docx

    SpringData JPA笔记

    Spring data JPA笔记资料

    Spring Data JPA 是一个强大的框架,它简化了与Java持久层的交互,允许开发者以声明式的方式处理数据库操作。这个框架是Spring生态的一部分,专门用于简化JPA(Java Persistence API)的使用。下面将详细解释Spring ...

    传智播客JPA学习笔记.pdf

    **Java Persistence API (JPA)** 是Java平台上的...以上就是JPA学习笔记中的关键知识点,涵盖了JPA的基本概念、环境配置、对象关系映射、查询语言、事务管理、关联关系等多个方面,对于理解和应用JPA有重要的指导作用。

    JPA学习笔记(高手笔记录)

    JPA(Java Persistence API)是Java平台上的一个规范,用于管理和持久化Java对象到数据库。它为开发人员提供了一种ORM(Object-Relational Mapping)机制,使得在Java应用中操作数据库变得更加简单。JPA通过元数据...

    超全面综合笔记!Spring Data Jpa 学习

    综合多家视频,超全面综合笔记!Spring Data Jpa 学习

    JPA学习代码资料

    这是一个jpa(hibernate)的学习代码,是我学习JPA的总结,包含三个案例,一对一、一对多、多对多 。 eclipse工具编码为utf-8

    JPA学习文档笔记

    ### JPA学习文档知识点概述 #### 1. JPA简介 - **定义**: JPA (Java Persistence API) 是由Sun官方提出的一种Java持久化规范,旨在简化Java应用程序中关系型数据库的操作过程。其核心目标是统一现有的ORM (Object-...

    JPA学习笔记

    【JPA学习笔记】 JPA(Java Persistence API)是Java平台上的一个ORM(Object-Relational Mapping)规范,它提供了一种将Java对象与数据库表进行映射的机制,简化了数据库操作。JPA允许开发者使用面向对象的方式...

    传智播客JPA学习笔记修改免积分版

    ### 传智播客JPA学习笔记知识点梳理 #### 一、JPA概述与核心价值 - **定义**: JPA (Java Persistence API) 是由 Sun 官方提出的一种 Java 持久化标准,旨在为 Java 开发者提供一套统一的对象-关系映射 (ORM) 工具,...

    jpa学习笔记

    ### JPA 学习笔记详解 #### 一、JPA 概述 Java Persistence API (JPA) 是 Sun 公司提出的一种 Java 持久层标准,它为 Java 开发者提供了一种对象关系映射 (ORM) 的工具来管理 Java 应用程序中的关系型数据。JPA ...

    传智播客——JPA学习笔记

    传智播客——JPA学习笔记 网络上有一份pdf格式的《JPA学习笔记》,但是内容排版有点乱,而且有缺失的部分,小弟从原来的blog处拷贝出来,并加以排版,制作成了chm格式的,大家应该知道chm格式比较适合作为参考资料或...

    jpa学习笔记 介绍了jpa中state的概念和应用

    本篇学习笔记主要探讨了JPA中实体的状态及其转换,包括New、Managed、Detached和Removed四种状态。 首先,实体(Entity)是JPA中的核心概念,它代表数据库中的一个记录。实体的身份(Identity Fields)用于唯一标识...

    spring 使用 Jpa的笔记

    ### Spring 使用 JPA 的知识点详解 #### 一、Spring与JPA简介 Spring框架与Java Persistence API (JPA)的结合使用是当前企业级应用开发中的常见实践之一。Spring为JPA提供了很好的集成支持,使得开发者能够更加...

    JPA学习笔记-EJB-04JPA关联映射总结

    本篇笔记主要聚焦于JPA的关联映射,这是JPA中一个重要的概念,用于定义实体之间的关系。 关联映射允许我们将数据库中的表关系映射到Java对象的关联上。在Hibernate中,这些关系通常通过XML配置文件来定义,而在JPA...

Global site tag (gtag.js) - Google Analytics