zoukankan      html  css  js  c++  java
  • JPA的API介绍

    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 对象不会有线程安全问题),并且EntityManagerFactory 的创建极其浪费资源,所以在使用JPA编程时,我们可以对EntityManagerFactory 的创建进行优化,只需要做到一个工程只存在一个EntityManagerFactory 即可

    3  EntityManager

    JPA 规范中, EntityManager是完成持久化操作的核心对象。实体类作为普通 java对象,只有在调用 EntityManager将其持久化后才会变成持久化对象。EntityManager对象在一组实体类与底层数据源之间进行 O/R 映射的管理。它可以用来管理和更新 Entity Bean, 根椐主键查找 Entity Bean, 还可以通过JPQL语句查询实体。

    我们可以通过调用EntityManager的方法完成获取事务,以及持久化数据库的操作

    方法说明:

    getTransaction : 获取事务对象
    persist : 保存操作
    merge : 更新操作
    remove : 删除操作

     find/getReference : 根据id查询

     

    EntityTransaction

    JPA 规范中, EntityTransaction是完成事务操作的核心对象,对于EntityTransaction在我们的java代码中承接的功能比较简单

    begin:开启事务
    commit:提交事务
    rollback:回滚事务
  • 相关阅读:
    C#磁吸屏幕窗体类库
    准备
    我写的诗
    How to turn off a laptop keyboard
    How to tell which commit a tag points to in Git?
    Why should I care about lightweight vs. annotated tags?
    How to get rid of “would clobber existing tag”
    Facebook, Google and Twitter threaten to leave Hong Kong over privacy law changes
    The need for legislative reform on secrecy orders
    Can a foreign key be NULL and/or duplicate?
  • 原文地址:https://www.cnblogs.com/yangzhixue/p/12348574.html
Copyright © 2011-2022 走看看