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

EntityManager实体操作

阅读更多

EntityManager

 

 持久化实体 persist(entity)

 

newEntity-----托管

 

托管-----无效,什么都不发生

 

删除状态------托管

 

游离-----提交时 例外抛出

 

更新实体

 

对实体的setXxx()方法的调用在容器flush时都会更新的

 

合并merge()

 

newEntity----copy一份----copy的那一份托管

 

托管----无效

 

删除状态---例外抛出

 

游离

 

         1。如果已经存在一个id一样的托管对象了,参数(游离状态)内容复制到托管对象,并返回托管对象。

 

        2。容器不存在id和游离对象相同的托管对象,创建一个游离对象的COPY并托管它,方法返回这个托管的引用。

 

总的来说:游离的对象永远不会变为托管对象,只会把内容合并进copy的或者存在的托管对象

 

remove()

 

托管----删除状态

 

remove游离 会异常

 

我们发现游离和删除状态的相关方法的交叉调用会抛异常

 

刷新实体 refresh()

 

只有托管对象才可以刷新

 

将数据库中最新的数据刷新实体

 

实体状态和生命周期事件

 

 

new ,没有ID,不在管理器的缓存中。

 

托管,容器flush时会同步到数据库

删除状态,仍然在管理器的缓存中,但是flush时,会删除数据库中的映射

游离,有ID,但是不在管理器的缓存中。

find()  getreference()     从数据库中得到实体

flush()

clear ()  所有的托管对象从缓存中清除,之前应该先flush

以下注解在实体内方法上,成为生命周期事件的回调函数

@PostLoad

@PrePersist  @PostPersist

@PreUpdate   @PostUpdate

@PreRemove @PostRemove

分享到:
评论

相关推荐

    EntityManager,实体类数据库访问管理层

    有了实体类CUstoms,下面就可以操作实体类跟操作数据库一样的啦,我们新建一个实体类管理类 CustomsManager.cs public class CustomsManager:EntityManager { public Customs GetByName(string name) { //创建...

    EntityManager

    EntityManager提供了多种API用于操作实体: 1. **获取实体**: - `find()`:根据实体类和主键查找实体,若不存在则返回null。 - `getReference()`:与`find()`类似,但当实体不存在时会抛出`...

    EntityManager Demo

    8. **Lifecycle Callbacks**:实体类可以通过在方法上添加特定注解(如@PrePersist, @PostLoad等)来实现生命周期回调,这些方法会在特定的实体操作前后自动调用。 9. **Detached, Managed, New, Removed States**...

    entitymanager(hibernate)

    而实体管理器(EntityManager)是Java Persistence API(JPA)的一部分,它提供了与Hibernate集成的关键接口,用于管理和操作数据。当我们谈论"entitymanager(hibernate)"时,意味着我们要探讨如何在Java项目中将这...

    Hibernate EntityManager Document

    本文档为Hibernate 3.3.0.GA版本的EntityManager使用指南,主要介绍了如何在不同的环境中使用EntityManager管理持久化对象,包括实体的状态管理、查询操作、事务处理等内容。 #### 一、架构 ##### 1.1 定义 - **...

    Hibernate EntityManager用法

    EntityManager接口是JPA的核心,它负责管理实体(Entity),执行CRUD操作,并与数据库进行交互。Hibernate EntityManager在Hibernate Session之上提供了一层抽象,使得开发者可以使用JPA标准的API来操作数据,同时也...

    hibernate-entitymanager-3.2.jar.zip

    本篇文章将深入探讨 Hibernate 实体管理器(Hibernate EntityManager)3.2版本的核心特性和使用方法。 Hibernate EntityManager 是 Hibernate 项目的一部分,它是一个符合 JPA(Java Persistence API)规范的 ORM ...

    hibernate-entitymanager-3.4.0.GA

    7. **级联操作**:允许在操作一个实体时,自动影响关联的其他实体,比如`@ManyToOne`, `@OneToMany`, `@OneToOne`, `@ManyToMany`等关系的级联操作。 8. **懒加载(Lazy Loading)**:一种优化策略,使得关联的对象...

    hibernate-entitymanager-4.3.4.Final.zip

    【标题】"hibernate-entitymanager-4.3.4.Final.zip" 是一个与Hibernate实体管理器相关的压缩包,其中包含的是Hibernate ORM框架的一个特定版本——4.3.4.Final。Hibernate实体管理器是Java开发中用于实现Java持久化...

    Hibernate core+annotations+entitymanager 指南小集合

    Hibernate EntityManager是JPA规范的实现,它扩展了Hibernate Core的功能,提供了一种标准的方式来管理和操作持久化实体。EntityManager接口是核心的入口点,它负责实体的生命周期管理,如持久化、查找、更新和删除...

    Spring EntityManager 不能扫描jar 中的class文件

    在Spring框架中,EntityManager是Java Persistence API (JPA) 的核心接口,用于处理数据库操作。然而,有时在尝试使用Spring管理持久层时,可能会遇到一个问题:“Spring EntityManager 不能扫描jar中的class文件”...

    hibernate-entitymanager-3.3.0.GA

    - **操作实体**:使用EntityManager进行增删改查操作,如persist()、merge()、remove()和find()。 - **事务处理**:在开始和结束操作之间启动和提交事务。 - **查询数据**:使用JPQL或Criteria API执行查询,并...

    hibernate-entitymanager-3.3.2.GA

    6. **操作实体**: 实例化实体,调用EntityManager的persist()、merge()、remove()、find()等方法完成CRUD操作。 7. **查询执行**: 使用createQuery()、createCriteria()创建查询,通过JPQL或Criteria API获取结果集...

    java-entitymanager-generic-dao:使用 Hibernate EntityManager (Spring Boot) 的通用 Dao

    在这个实现中,我们使用 Spring Framework ORM EntityManager 使用预配置的数据源来实现基本操作,例如从数据库中插入、更新、删除和检索实体。 这种实现的主要优点是,由于这个 dao 是使用 Java 泛型实现的,我们...

    hibernate-entitymanager-3.2.0.GA.zip

    - 实体管理器:使用EntityManager实例来操作实体,如创建(persist)、加载(find)、更新(merge)、删除(remove)等。 - JPQL查询:编写JPQL语句,执行查询并获取结果集。 - 事务处理:通过EntityManager的...

    hibernate-entitymanager-3.2.1.GA.zip

    它包括实体(Entity)、实体管理器(EntityManager)、查询语言(JPQL)等关键元素。Hibernate Entity Manager 3.2.1.GA实现了JPA 1.0规范,提供了丰富的功能和性能优化。 3. **实体管理器(EntityManager)** ...

    JPA学习笔记-EJB-05JPA实体对象状态和实体对象的高级操作

    根据实体对象与实体管理器(EntityManager)之间的交互关系,实体对象可以处于以下几种状态: 1. **瞬时状态(Transient State)** 当一个实体对象刚刚被创建出来但还未被实体管理器管理时,它处于瞬时状态。此时...

    JPA基本概念实例操作

    - **EntityManager简介**:`EntityManager`,也称为实体管理器,是Java Persistence API (JPA) 中的核心接口之一,负责处理实体对象的生命周期管理和持久化操作。它由`EntityManagerFactory`创建。 - **...

Global site tag (gtag.js) - Google Analytics