zoukankan      html  css  js  c++  java
  • entitymanager 进行数据序列化

    场景:同一个方法里,需要将前一部分执行的数据保存到数据库。后半部分读取数据时从数据库里获取,而不是获取到缓存里的数据。

    理解eneityManager的这三个方法的作用和区别,首先需要分清楚PersistenceContext 和 EntityManager.

    PersistenceContext:是entity的一个实例。

    EntityManager:是和PersistenceContext联系在一起的,被用来创建、删除或者查找一个持久化Entity实例。

    换句话来说PersistenceContext可以说成是数据库的缓存。

    1.merge

    通过entityManager将一个存在的实体“同步到”persistenceContext中。

    实体的状态将从其单独的状态转换为受persistenceContext管理的状态。

    如果Entity是新创建的,则这个方法类似于persist()这个方法。

    如果Entity已经存在的,则只作为更新操作。

    2.Flush

    将PersistenceContext的信息同步到数据库中。

    当触发Flush这个动作的时候,所有的实体都将会被insert/update/remove到数据库中。

    数据库不会触发Commit的操作。

    3.Refresh

    Refresh的作用是从数据库中将Entity的状态进行更新操作。如果Entity和数据库中的数据不一致,将更新数据库中的数据到Entity中。

  • 相关阅读:
    linux下查看机器是cpu是几核
    Stylus 安装使用图解
    npm 安装配置
    vue-cli vue脚手架
    nodejs与npm
    超详细解决 PLSQL下拉数据库"空白"
    Oracle 11g Windows64位
    Mysql 5.7.x zip windows安装
    Windows下Nginx的启动、停止、重启等命令
    Swagger中最常用的几个注解
  • 原文地址:https://www.cnblogs.com/xu-lei/p/8571694.html
Copyright © 2011-2022 走看看