JPA基本使用,java面试流程图

本文详细介绍了JPA的基本使用,包括配置JPA的核心文件,如persistence.xml,讲解了EntityManagerFactory和EntityManager的重要角色。同时,文章阐述了JPA中的主键生成策略,如IDENTITY、SEQUENCE、AUTO和TABLE。此外,还展示了如何使用JPA进行增删改查操作,如persist、merge、remove和find,并提供了JPAUtil工具类以优化资源管理。最后,简要提及了JPA的复杂查询能力,如JPQL。
摘要由CSDN通过智能技术生成
  • Get、Set、toString

*/

}

配置JPA的核心配置文件:

在java工程的src路径下创建一个名为META-INF的文件夹,在此文件夹下创建一个名为persistence.xml的配置文件

<?xml version="1.0" encoding="UTF-8"?> **需要zi料+ 绿色徽【vip1024b】**

org.hibernate.jpa.HibernatePersistenceProvider

JPA的API介绍


Persistence对象: 主要作用是用于获取EntityManagerFactory对象的,通过调用该类的createEntityManagerFactory静态方法,根据配置文件中持久化单元名称创建EntityManagerFactory。

String unitName = “myJpa”;

EntityManagerFactory factory= Persistence.createEntityManagerFactory(unitName);

EntityManagerFactory:主要用来创建 EntityManager 实例,由于EntityManagerFactory 是一个线程安全的对象(即多个线程访问同一个EntityManagerFactory 对象不会有线程安全问题),并且EntityManagerFactory 的创建极其浪费资源,所以在使用JPA编程时,我们可以对其进行优化,满足一个项目中只有一个EntityManagerFactory。

//创建实体管理类

EntityManager em = factory.createEntityManager();

EntityManager: 是完成持久化操作的核心对象,通过调用 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:回滚事务

测试代码:

@Test

public void test() {

/**

  • 创建实体管理类工厂,借助Persistence的静态方法获取

  •   其中传递的参数为持久化单元名称,需要jpa配置文件中指定
    

*/

EntityManagerFactory factory = Persistence.createEntityManagerFactory(“myJpa”);

//创建实体管理类,工厂对象

EntityManager em = factory.createEntityManager();

//获取事务对象,通过实体管理类工厂获取实体管理器

EntityTransaction tx = em.getTransaction();

//开启事务,获取事务对象

tx.begin();

//完成增删改查操作

Customer c = new Customer();

c.setCustName(“客户1”);

c.setCustIndustry(“程序员”);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值