JPA的常用API —— SpringDataJPA(五)
时间:2020-04-11
本文章向大家介绍JPA的常用API —— SpringDataJPA(五),主要包括JPA的常用API —— SpringDataJPA(五)使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
Persistence对象
Persistence对象主要作用是用于获取EntityManagerFactory对象的。
通过调用该类的createEntityManagerFactory静态方法,根据配置文件中持久化单元名称创建EntityManagerFactory。
//1. 创建 EntitymanagerFactory @Test String unitName = "myJpa"; EntityManagerFactory factory= Persistence.createEntityManagerFactory(unitName);
EntityManagerFactory
EntityManagerFactory接口主要用来创建EntityManager实例。
//创建实体管理类 EntityManager em = factory.createEntityManager();
由于EntityManagerFactory是一个线程安全的对象(即多个线程访问同一个对象不会有线程安全问题),并且EntityManagerFactory的创建机器浪费资源。
所以,在使用JPA编程时,可以对EntityManagerFactory进行优化,只需要做到一个工程内部只存在一个EntityManagerFactory即可。
EnityManager
在JPA规范当中,EntityManager是完成持久化操作的核心对象。
实体类作为普通的Java对象,只有在代用EntityManager将其持久化后才会变成持久化对象。
EntityManager对象在一组实体类与底层数据源之间进行O/R映射的管理。
它可以用来管理和更新EntityBean,根据主键查找EntityBean,还可以通过JPQL语句查询实体。
可以通过调用EntityManager的方法完成获取事务,以及持久化数据库的操作。
getTransaction : 获取事务对象
persist : 保存操作
merge : 更新操作
remove : 删除操作
find/getReference : 根据id查询
EntityTransaction
在JPA规范中,EntityTransaction是完成事务操作的和新对象。
对于EntityTransaction在我们的Java代码中承接的功能比较简单。
begin:开启事务
commit:提交事务
rollback:回滚事务
原文地址:https://www.cnblogs.com/guancangtingbai/p/12680783.html
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- 使用python matploblib库绘制准确率,损失率折线图
- Django REST Swagger实现指定api参数
- matplotlib.pyplot.matshow 矩阵可视化实例
- php+mysql开发的最简单在线题库(在线做题系统)完整案例
- python中元组的用法整理
- PHP错误提示It is not safe to rely on the system……的解决方法
- PHP使用mysqli同时执行多条sql查询语句的实例
- 在tensorflow下利用plt画论文中loss,acc等曲线图实例
- PHP生成短网址的思路以及实现方法的详解
- ThinkPHP 3.2.3实现加减乘除图片验证码
- Python数据相关系数矩阵和热力图轻松实现教程
- PHP中md5()函数的用法讲解
- thinkPHP框架实现的简单计算器示例
- Keras在训练期间可视化训练误差和测试误差实例
- Laravel如何自定义command命令浅析