jpa规范提供了EntityManager接口来操作数据库,它定义了一些操作数据库的方法,在这里介绍几个重要的方法,就是crud方法。
1.persist(Object entity)方法
这个方法把一个实体加入持久化上下文中,也就是缓存中,在事务提交或者调用flush()方法的时候,把这个实体保存到数据库中(执行insert语句),如果实体已存在,则抛出EntityExistsException异常,缓存则不存在了。
2.find(Class<T> entityClass,Object primaryObject)
根据主键从数据库中查询一个实体,这个方法首先从缓存中去查找,如果找不到,就从数据库中去找,并把它加入到缓存中。
3.merge(T object)
把一个对象加入到当前的持久化上下文中,就是把一个对象从detach转变为managed,并返回这个对象。当一个对象设置了主键,并调用此方法,就会从数据库中根据主键查找到该对象把它放到持久化上下文中,当事物提交的时候,如果对象发生了改变,更新该对象的改变到数据库中,如果对象没有改变,则什么也不做,如果对象没有设置主键,则插入该对象到数据库中。
4.remove(Object entity)
根据主键从数据库中删除一个对象,这个对象的状态必须是managed,否则会抛出IllegalArgumentException,在一个事务中删除一个对象,假如实体管理器对象为em,
em.remove(em.merge(entity)),如果直接调用em.remove(entity);会抛出异常
IllegalArgumentException。
下面介绍对象的状态
1. new/transient
新建的对象,或者是说这个对象没有加入到持久化上下文当中。
2 managed
对象存在持久化上下文中
3 detach
对象脱离了持久化上下文
分享到:
相关推荐
03_JPA详解_搭建JPA开发环境和全局事务介绍.zip
03_传智播客JPA详解_搭建JPA开发环境和全局事务介绍
JPA中的常用方法.docx
详细介绍 jpa 开发文档详细介绍 jpa 开发文档详细介绍 jpa 开发文档详细介绍 jpa 开发文档
JPA开发文档 1. 发展中的持久化技术 2 1.1 JDBC 2 1.2关系对象映射(Object Relational Mapping,ORM) 2 1.3 Java数据对象(Java Data Object,JDO) 2 1.4 Java Persistence API(JPA) 2 2. JPA体系架构 3 清单1...
JPA批注参考(主要介绍JPA中的相关注解)
JPA教程JPA教程JPA教程JPA教程JPA教程
内容包括整体认识JPA、JPA基础查询方法、定义查询方法、注解式查询方法、@Entity实例里面常用注解详解、JpaRepository扩展详解、JPA的MVC扩展REST支持、DataSource的配置、乐观锁、SpEL表达式在SpringData里面的应用...
jpa jpa规范 jpa源码 jpa jpa规范 jpa源码
此资源集成了相关的JPA资源,包括JPA官方文档 JPA详解 JPA批注参考 JPA应用……
使用Spring Data JPA的JpaSpecificationExecutor.findAll(Specification,Pageable)支持投影 适用于Spring Data JPA 2.x(Spring Boot 2.x)的2.xx版本 版本1.xx Spring Data JPA 1.x 如何使用 添加对pom的依赖 <...
jpajpajpajpajpajpajpajpajpajpajpajpajpa
OSGi环境(Eclipse RCP)使用JPA的框架介绍。
包括TOPLink JPA,Hibernate JPA,Open Jpa,jpa批注
jpa测试用例jpa测试用例jpa测试用例
JPA用于整合现有的ORM技术,可以简化现有Java EE和Java SE应用对象持久化的开发工作,实现ORM的统一。JPA详解视频教程 第3讲 搭建JPA开发环境和全局事务介绍.avi
JPA
JPA全称为Java Persistence API ,Java持久化API是Sun公司在Java EE 5规范中提出的Java持久化接口。JPA吸取了目前Java持久化技术的优点,旨在规范、简化Java对象的持久化工作。JPA通过JDK 5.0注解或XML描述对象-...
JPA视频_PPT及源码 · 1. JPA视频_概述 · 2. JPA视频_HelloWorld · 3. JPA视频_基本注解 · 4. JPA视频_Transient注解 · 5. JPA视频_Temporal注解 · 6. JPA视频_Table主键生成策略 · 7. JPA视频_...