博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JPA ---- EntityManager
阅读量:5240 次
发布时间:2019-06-14

本文共 827 字,大约阅读时间需要 2 分钟。

一、 EntityManager是JPA中用于增删改查的接口,它的作用相当于一座桥梁,连接内存中的java对象和数据库的数据存储。其主要的方法定义如下:

   

Entity生命周期中的Managed,Detached,Removed三种状态变化过程,如下图所示:

   

1、entityManager.persist(Object entity);  新增数据;
   如果entity的主键不为空,而数据库没有该主键,会抛出异常;
   如果entity的主键不为空,而数据库有该主键,且entity的其他字段与数据库不同,persist后不会更新数据库;
 2、entityManager.find(Class<T> entityClass, Object primaryKey);  根据主键查找数据;
   如果主键格式不正确,会抛出illegalArgumentException异常;
   如果主键在数据库未找到数据返回null;
 3、entityManager.remove(Object entity);  删除数据;
   只能将Managed状态的Entity实例删除,由此Entity实例状态变为Removed;
 4、entityManager.merge(T entity);  
将Detached状态的Entity实例转至Managed状态;
 5、entityManager.clear();  将所有的Entity实例状态转至Detached状态;
 6、entityManager.flush();   将所有Managed状态的Entity实例同步到数据库;
 7、entityManager.refresh(Object entity); 加载Entity实例后,数据库该条数据被修改,refresh该实例,能得到数据库最新的修改,
覆盖原来的Entity实例;

转载于:https://www.cnblogs.com/lone5wolf/p/10940827.html

你可能感兴趣的文章
httpd_Vhosts文件的配置
查看>>
php学习笔记
查看>>
28 hashlib 模块 logging 模块 和 configparser模块 functools模块的偏函数partial
查看>>
普通求素数和线性筛素数
查看>>
React Router 4.0 基本使用
查看>>
作业完成2
查看>>
PHP截取中英文混合字符
查看>>
HTA - OnKeyDown
查看>>
【洛谷P1816 忠诚】线段树
查看>>
CDN 学习笔记
查看>>
电子眼抓拍大解密
查看>>
Linux系统下 /etc/shadow 档案结构
查看>>
多线程---线程间的通信
查看>>
poj 1331 Multiply
查看>>
严重: 文档无效: 找不到语法。 at (null:2:19)
查看>>
tomcat7的数据库连接池tomcatjdbc的25个优势
查看>>
Html 小插件5 百度搜索代码2
查看>>
nodejs-Path模块
查看>>
P1107 最大整数
查看>>
EasyDarwin开源手机直播方案:EasyPusher手机直播推送,EasyDarwin流媒体服务器,EasyPlayer手机播放器...
查看>>