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:回滚事务
  • 相关阅读:
    sql-字符串拼接单,双引号及$
    SQL-SQLServer数据库查询
    SQL-数据库不能以127.0.0.1登录
    Excel-VBA-ActiveX编译错误:用户定义类型未定义
    Excel-VBA中,取:存储过程时,报:对象关闭时,不允许操作!
    JS
    小程序(Wepy)--生成海报图片
    小程序--时间处理(显示几分钟前,,几小时前,,几天前...)
    小程序--wepy省市区三级联动选择
    对于 wepy 不是内部或外部命令 -- 的解决办法
  • 原文地址:https://www.cnblogs.com/yangzhixue/p/12348574.html
Copyright © 2011-2022 走看看