SpringDataJPA入门2

SpringDataJPA实体概述

  JPA提供了一种简单高效的方式来管理Java对象(POJO)到关系型数据库的映射,此类Java对象成为JPA实体或简称实体。实体通常与底层数据库中的单个关系表相关联,每个实体的实例表示数据库表格中的某一行

SpringDataJPA实体管理器

  实体管理器(EntityManager)用于管理系统中的实体,它是实体与数据库之间的桥梁,通过调用实体管理器的相关方法可以把实体持久化到数据库中,同时也可以把数据库中的记录打包成实体对象。

  实体的生命周期:

  从图中我们可以看到,一个实体有四种状态:新建状态、托管状态、游离状态、删除状态。

刚创建出来的一个对象是处于新建状态,跟创建一个普通java对象一样,是通过new出来的一个对象,对新建对象进行赋值以后,调用实体管理器的persist方法,可以让实体状态迁移到托管状态,这个时候可以做两件事:插入语句把数据插入到数据库中同时标记实体为托管状态,处于托管状态的实体如果被修改属性,事务提交以后这些改变会自动提交到数据库中。托管状态标志着正在被实体管理器管理,如果我们提交事务,那么实体的状态就变成游离状态。

所谓的游离状态,是指修改实体的属性是不会触发数据库操作,这种状态跟新建状态很相似,区别在于游离态的实体的id属性是有值的,而新建状态的实体id是没有值的。如果调用实体管理器的close方法或者clear方法或者detach都可以让实体变成游离状态。其中close方法是关闭实体管理器,clear方法是是实体管理器的所有的实体都变成游离态,detach可以使单个实体变成游离态。处于托管状态的实体我们可以删除,可以调用实体管理器的remove方法。但这个时候系统是不会实际删除数据的,需要提交事务才会删除记录。

时间: 2024-11-29 17:26:01

SpringDataJPA入门2的相关文章

Springboot整合SpringDataJpa入门篇(一)

spring-data-Jpa简介                                                                                                                                                                                                                                         

SpringDataJPA

Spring Data JPA 自从用了Spring Data JPA之后个人感觉比hibernate.mybatis好用太多了---SpringData JAP非常契合OOP思想.如:设计模式的开放-封闭原则.依赖倒转原则.单一职责.迪米特法则等等,也是OOP非常非常核心的东西(按住Ctrl+鼠标左键点击蓝色的可以查看对应模式)...我的GitHub上最近在更新一个Spring.SpringDataJPA.shiro框架整合的一个小项目,有兴趣可以瞅瞅:下面是我转载的一篇SpringDataJ

spring-data-jpa快速入门(一)——

一.概述 官网:https://projects.spring.io/spring-data-jpa/ 1.什么是spring-data-jpa Spring Data JPA, part of the larger Spring Data family, makes it easy to easily implement JPA based repositories. This module deals with enhanced support for JPA based data acce

SpringDataJPA快速入门

前言 之前在学习 SpringBoot 框架的时候,使用到了 SpringData JPA,但是当时只是简单的查询,没有用到稍微复杂的查询. JPA 的 JPQL 语法规则对于简单的查询实属利器,大大加快了开发速度.不久前,在公司将用户推荐功能单独抽取出为一个独立项目,由于公司一直沿用的底层框架太老,只能使用 JDK1.6,JDK 1.9都出来了,实在不能忍??,果断引入了 SpringData JPA. 然后最近公司其他同事接手了该项目,但是不太了解 SpringData JPA 的使用,于是

Spring-data-jpa详解,全方位介绍。

本篇进行Spring-data-jpa的介绍,几乎涵盖该框架的所有方面,在日常的开发当中,基本上能满足所有需求.这里不讲解JPA和Spring-data-jpa单独使用,所有的内容都是在和Spring整合的环境中实现.如果需要了解该框架的入门,百度一下,很多入门的介绍.在这篇文章的接下来一篇,会有一个系列来讲解mybatis,这个系列从mybatis的入门开始,到基本使用,和spring整合,和第三方插件整合,缓存,插件,最后会持续到mybatis的架构,源码解释,重点会介绍几个重要的设计模式,

纯干货,Spring-data-jpa详解,全方位介绍

本篇进行Spring-data-jpa的介绍,几乎涵盖该框架的所有方面,在日常的开发当中,基本上能满足所有需求.这里不讲解JPA和Spring-data-jpa单独使用,所有的内容都是在和Spring整合的环境中实现.如果需要了解该框架的入门,百度一下,很多入门的介绍.在这篇文章的接下来一篇,会有一个系列来讲解mybatis,这个系列从mybatis的入门开始,到基本使用,和spring整合,和第三方插件整合,缓存,插件,最后会持续到mybatis的架构,源码解释,重点会介绍几个重要的设计模式,

Spring Boot教程34——Docker入门

Spring Data介绍 Spring Data项目是Spring用来解决数据访问问题的一揽子解决方案.Spring Data包含了大量关系型数据库及非关系型数据库的数据访问解决方案.Spring Data使我们可以快速且简单地使用普通的数据访问技术及新的数据访问技术. Spring Data包含的子项目如下: Spring Data JPA org.springframework.data spring-data-jpa 1.8.1.RELEASE Spring Data MongoDB o

Spring-data-jpa详解

出自:http://www.cnblogs.com/dreamroute/p/5173896.html 首先感谢这位大神的讲解,写的很认真仔细,我也仔细的看了几遍,确实写的很好,因此拷贝到此处,如有冒犯请见谅! 本篇进行Spring-data-jpa的介绍,几乎涵盖该框架的所有方面,在日常的开发当中,基本上能满足所有需求.这里不讲解JPA和Spring-data-jpa单独使用,所有的内容都是在和Spring整合的环境中实现.如果需要了解该框架的入门,百度一下,很多入门的介绍.在这篇文章的接下来

spring boot 1.5.4 集成spring-Data-JPA(七)

上一篇:springboot 1.5.4 集成JdbcTemplate(六) 1      Spring Boot使用Spring-Data-JPA访问数据库 spring boot整合jdbcTemplate项目源码: https://git.oschina.net/wyait/springboot1.5.4.git 1.1  Sping data JPA简介 关于Spring Data jpa这里就不详细做说明,只简单的介绍一下: 由于Spring-data-jpa依赖于Hibernate.