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