`
littie1987
  • 浏览: 133401 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

JPA中的常用方法

    博客分类:
  • JPA
 
阅读更多

public void merge(Object entity)

         merge 方法的主要作用是将用户对一个 detached 状态实体的修改进行归档,归档后将产生一个新的 managed 状态对象。

 

对不同状态下的实例 A merge 会产生以下操作 :

1.       如果 A 是一个 detached 状态的实体,该方法会将 A 的修改提交到数据库,并返回一个新的 managed 状态的实例 A2

2.       如果 A 是一个 new 状态的实体,该方法会产生一个根据 A 产生的 managed 状态实体 A2 ;

3.       如果 A 是一个 managed 状态的实体,它的状态不会发生任何改变。但是系统仍会在数据库执行 UPDATE 操作;

4.       如果 A 是一个 removed 状态的实体,该方法会抛出 IllegalArgumentException 异常。

public void refresh(Object entity)

        refresh 方法可以保证当前的实例与数据库中的实例的内容一致。

 

对不同状态下的实例 A refresh 会产生以下操作 :

1.       如果 A 是一个 new 状态的实例,不会发生任何操作,但有可能会抛出异常,具体情况根据不同 JPA 实现有关;

2.       如果 A 是一个 managed 状态的实例,它的属性将会和数据库中的数据同步;

3.       如果 A 是一个 removed 状态的实例,不会发生任何操作 ;

4.       如果 A 是一个 detached 状态的实体,该方法将会抛出异常。

分享到:
评论

相关推荐

    JPA中的常用方法.docx

    本文将详细介绍JPA中两个重要的方法:`merge()`和`refresh()`,以及它们在不同实体状态下的行为。 ### `merge()` 方法 `merge()` 方法是JPA中一个关键的操作,主要用于将脱离管理(detached)状态的实体与数据库...

    Spring-data-jpa常用教程.pdf

    - 可以直接在 Repository 接口中定义查询方法名,Spring-data-jpa 会根据方法名自动解析并执行相应的查询操作。例如: ```java List<User> findByUsername(String username); ``` 4. **分页和排序**: - 使用 ...

    JPA常用关系实现例子

    在这个“JPA常用关系实现例子”中,我们将探讨四种主要的关系类型:一对一(OneToOne)、一对多(OneToMany)、多对一(ManyToOne)和多对多(ManyToMany)。这些关系定义了实体间的关联,有助于在数据库设计中创建...

    JPA教程,包括TOPLink JPA,Hibernate JPA,Open Jpa,jpa批注

    **Java Persistence API (JPA)** 是Java平台上的一个标准,用于管理关系数据库中的数据。它为Java开发者提供了一种对象关系映射(ORM)机制,将业务对象与数据库表进行映射,使得开发者可以使用面向对象的方式来操作...

    Spring Data JPA从入门到精通

    'SpringDataJPA从入门到精通'分为12章 内容包括整体认识JPA、JPA基础查询方法、定义查询方法、注解式查询方法、@Entity实例里面常用注解详解、JpaRepository扩展详解、JPA的MVC扩展REST支持、DataSource的配置、乐观...

    java中JPA框架的集成

    JPA框架的集成使用 package com.itcast.bean.product; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; @...

    SpringBoot+Redis+JPA +IDEA中的简单操作数据库逆向生成

    在实际开发中,Redis可以作为缓存,存储常用但计算复杂或数据库查询慢的数据。例如,我们可以将用户登录信息存储在Redis中,每次用户请求时先从Redis读取,提高响应速度。 总的来说,SpringBoot+Redis+JPA的组合在...

    spring data jpa 教程

    JpaRepository 是 Spring Data JPA 中提供的一个基础接口,它扩展自 PagingAndSortingRepository,并且增加了一些额外的、常用的操作方法。通过实现 JpaRepository 接口,开发者可以得到一系列的预定义方法,例如...

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

    8. **Pagination and Sorting**:Spring Data JPA支持分页和排序功能,只需要在Repository接口的方法中传入Pageable参数,就可以实现数据的分页和排序。 9. **Integration with Spring Boot**:Spring JPA与Spring ...

    Spring Data JPA中文文档[1.4.3].pdf

    - **CrudRepository**: 提供了针对被管理实体类的常用 CRUD 方法,例如保存、查找、更新、删除等操作。 - **PagingAndSortingRepository**: 继承自 CrudRepository,增加了分页和排序的功能,使得开发者能够更方便地...

    openjpa-manual

    实体管理器是JPA中最常用的接口之一,它提供了用于与实体进行交互的方法。实体管理器的主要职责包括: 1. **事务关联**:实体管理器可以关联到一个活动的事务。 2. **实体生命周期管理**:包括创建、更新、删除实体...

    jpa教程

    在实体类中,常用的注解包括: - `@Id`: 标识实体主键。 - `@GeneratedValue`: 用于自动生成主键。 - `@Column`: 定义列属性,如长度、是否允许为空等。 - `@Temporal`: 用于日期时间类型的字段,指定如何存储时间...

    spring data jpa 入门例子

    本入门例子将帮助你理解并掌握Spring Data JPA的核心概念和常用功能。 1. **什么是Spring Data JPA** Spring Data JPA是Spring框架的一部分,它为JPA提供了一种声明式的方法来处理数据访问层。通过使用Spring Data...

    JPA标签(注解)详细说明

    以上就是JPA中常用的一些注解及其功能,它们极大地简化了Java对象和数据库表之间的映射过程,使得开发者能够更加专注于业务逻辑而不是数据持久化细节。通过熟练掌握这些注解,可以更高效地构建和管理Java应用程序的...

    jpa的自定义CURD

    在JPA中,创建新记录通常是通过`EntityManager`的`persist()`方法完成的。首先,你需要定义一个实体类,它代表数据库中的表,并使用`@Entity`注解标记。然后,创建实体对象并设置其属性,最后调用`persist()`方法将...

    JPA JPQL常用

    JPA(Java Persistence API)是Java平台上的持久化规范,它提供了一种在Java应用程序中管理关系数据的标准方法。JPQL(Java Persistence Query Language)是JPA的一部分,它是一种面向对象的查询语言,类似于SQL,但...

    springboot -data-jpa

    它集成了大量常用的第三方库配置,如 JDBC、MongoDB、JPA、RabbitMQ、Quartz 等,使得开发者可以快速地创建一个独立运行的、生产级别的基于 Spring 的应用。 Spring Data JPA 是 Spring 基于 Java Persistence API ...

    JPA注解参考文档

    JPA全称Java Persistence API.JPA通过JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。 JPA支持XML和JDK5.0注解两种元数据的形式。...这个文档是针对JPA常用注解的一些说明。

    springboot JPA

    SpringBoot与SpringData JPA是Java开发中常用的两个框架,它们极大地简化了Web应用的构建和数据访问。SpringBoot提供了一种快速启动和配置Spring应用的方式,而SpringData JPA则是Spring Framework的一部分,用于...

    jpa常用标注

    在Java Persistence API (JPA) 中,注解是用于配置实体类与数据库表之间映射的关键工具。这些注解使得开发者能够以面向对象的方式描述数据模型,而无需编写大量SQL语句。以下是一些常见的JPA注解及其用途: 1. **@...

Global site tag (gtag.js) - Google Analytics