`
xiejuntao
  • 浏览: 8095 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

jpa

阅读更多

注:此为个人学习笔记,内容可能有些混乱,仅供参考。

 

1、关系

关系可以是双向或单向的。双向关系同时具有持有端( owning side )和反向端( inverse   side )。单向关系只有一个持有端。

2、关系持有者

MappedBy 元素指出实体中作为关系的主控端的属性/字段。 在非持有端注明 ,类似于表明交出控制权。

一对多 / 多对一双向关系中的 “多”端必须是持有端 ,(在一对多时,外键建在多的一端)因此不能在 ManyToOne 注解中使用 mappedBy 元素。

对于一对一双向关系,包含对应的外键( foreign key )的那一端是持有端。

对于多对多双向关系,任一端都可以作为持有端。

3、级联

关系模型注解限制对 cascade=REMOVE 的使用。 cascade=REMOVE 只应该用 OneToOne OneToMany 关系上,对其它类型的关系应用 cascade=REMOVE 是不可移植的。

4、实体实例的生命周期

一个实体实例的状态可以被分为 new, managed, detached removed

  一个新创建的实体实例没有持久化标识,并且还没有与一个持久化上下文相关联。

  一个受管的实体实例有一个正与持久化上下文相关联的持久化标识。

  一个脱管的实体实例有持久化标识,但这个标识没有(或已经不再)与一个持久化上下文相关联。

  被删除的实体实例具有持久化标识,并且与持久化上下文相关联,但是已经被计划从数据库中删除。

5、持久化Entity实例

persist   保存

remove    删除

merge     将脱管实体的状态传递到由EntityManager管理的持久实体。

contains  确认一个实体的实例是不是当前持久化上下文中的受管对象。

6、级联加载

同cascade注解一样,fetch只应该用在OneToOne、OneToMany关系上,默认为lazy。

7、事件监听

在实体类上加监听方法,有以下各种注解申明方法执行的时间

@PrePersist      @PostPersist

@PreRemove       @PostRemove

@PreUpdate       @PostUpdate

8、一些注解

@OrderBy    用于指定一个集合值的关联在被获取时,其中元素的排序。

@Temporal   在java.util.Date和java.util.Calendar类型的持久字段/属性上必须指定Temporal注解,它也只能用于这些类型。

9、注意

所有未用 Transient 标注的属性都是持久化的。属性访问方法必须是 public

protected 。当使用基于属性的访问时,实体的对象 / 关系映射注解标注在 getter 方法上。

 

0
0
分享到:
评论

相关推荐

    jpa例子jpajpa

    **Java Persistence API (JPA)** 是Java平台上的一个标准,用于管理关系数据库中的对象-关系映射(ORM)。它提供了一种方式,让开发者可以用面向对象的编程模型来操作数据库,而无需直接编写SQL语句。JPA允许你在...

    Spring Data JPA中文文档[1.4.3]_springdatajpa_erlang_waitxpf_

    **Spring Data JPA** 是一个基于 **Java** 的开源框架,它是 **Spring Framework** 的一个模块,主要用于简化 **Java Persistence API (JPA)** 的使用。JPA 是 Java 平台上的一个标准,用于管理和持久化应用程序的...

    spring注解+spring data jpa文档+JPA文档.rar

    Spring框架的核心特性包括依赖注入(DI)和面向切面编程(AOP),并且它还提供了对数据库操作的支持,这主要通过Spring Data JPA和Java Persistence API(JPA)实现。 Spring注解是Spring框架中的一大特色,它极大...

    JPA分页查询与条件分页查询

    JPA(Java Persistence API)是Java平台上的一个标准,用于管理关系数据库中的数据。Spring Data JPA 是基于 JPA 的一个扩展,它简化了数据库操作,使得开发者无需编写大量SQL语句,就能实现数据的增删改查。在这个...

    JPA源文件/jpa学习

    **JPA(Java Persistence API)**是Java平台上的一个标准,用于管理关系数据库中的数据,它简化了在Java应用程序中存储、检索和管理对象的工作。JPA是Java EE和Java SE环境中的一种ORM(Object-Relational Mapping)...

    JPA (一)

    **Java 持久化 API(JPA)详解(一)** Java 持久化 API(Java Persistence API),简称 JPA,是 Java 平台上的一个标准,用于管理关系数据库中的数据。JPA 提供了一种面向对象的方式来操作数据库,使得开发人员...

    Spring Data JPA的优点和难点.pdf

    Spring Data JPA是Spring生态中的一个强大ORM框架,它极大地提高了Java开发者在处理数据库操作时的效率。Spring Data JPA的主要优点在于其高度的开发效率、成熟的语法结构以及与Spring框架的紧密集成。 1. **开发...

    java + spring boot +jpa 拦截器分库分表demo

    Spring Data JPA是Spring对JPA的扩展,提供了更丰富的功能,包括自动Repository生成、查询方法等。 在Spring Boot项目中集成JPA,首先需要在`pom.xml`或`build.gradle`中添加相应的依赖。接下来,创建实体类...

    Springboot中使用Druid+JPA

    在Spring Boot应用中,Druid和JPA是两种常见的数据库操作工具。Druid是一个功能强大的数据库连接池,而JPA(Java Persistence API)是Java平台上的一个标准,用于对象关系映射(ORM)。本篇文章将深入探讨如何在...

    Spring JPA 配置类包集合 方便大家使用

    Spring JPA,全称为Spring Data JPA,是Spring框架的一部分,专门用于简化Java持久层编程,尤其是与关系型数据库的交互。它建立在Java Persistence API(JPA)之上,提供了更高级别的抽象,使得开发者可以更加专注于...

    如何控制JPA的事务

    "JPA事务管理" JPA(Java Persistence API)是一种Java持久化规范,它提供了一个抽象层来访问关系数据库。JPA的事务管理是指对一系列操作的管理,包括创建、读取、更新和删除(CRUD)等操作。事务管理的目的是确保...

    黎活明老师讲解的JPA源码

    JPA用于整合现有的ORM技术,可以简化现有Java EE和Java SE应用的对象持久化的开发工作,实现ORM的统一。JPA作为一项对象持久化的标准,不但可以获得Java EE应用服务器的支持,还可以直接在Java SE中使用。JPA必将...

    使用SpringBoot-JPA进行自定义保存及批量保存功能

    使用SpringBoot-JPA进行自定义保存及批量保存功能 使用SpringBoot-JPA进行自定义保存及批量保存功能是指在Spring Boot应用程序中使用JPA(Java Persistence API)来实现自定义的保存和批量保存功能。JPA是一个Java ...

    Spring Data JPA从入门到精通

    《Spring Data JPA从入门到精通》是一套深入学习Spring Data JPA的资源,结合了两本书的内容,旨在帮助开发者全面掌握这一强大的数据访问技术。Spring Data JPA是Spring框架的一部分,它为Java Persistence API (JPA...

    spring boot jpa security

    Spring Boot JPA与Security是两个在Java开发领域中极为重要的技术框架,它们分别专注于数据访问和应用程序的安全管理。本文将深入探讨这两个框架的核心概念、如何整合使用以及在实际项目中的应用。 Spring Boot是由...

    jpa代码自动生成工具-springboot

    在Java开发领域,Spring Boot和JPA(Java Persistence API)是两个非常重要的框架。Spring Boot简化了Spring应用程序的创建和配置过程,而JPA作为Java的ORM(对象关系映射)标准,允许开发者以面向对象的方式操作...

    JPA中文解释,JPA的API

    Java Persistence API(JPA)是Java平台上的一个标准,用于管理关系数据库中的对象持久化。它简化了在Java应用程序中存储、检索和管理数据的过程,是Enterprise JavaBeans(EJB)的一部分,也是Spring框架中的一个...

    springboot + jpa 批量存储示例

    在本文中,我们将深入探讨如何使用Spring Boot与Java Persistence API (JPA) 实现批量存储操作。Spring Boot简化了设置和配置,而JPA作为Java的ORM(对象关系映射)框架,允许开发者以面向对象的方式操作数据库。...

Global site tag (gtag.js) - Google Analytics