JPA实体管理器

JPA中的EntityManager是核心组件,负责实体的持久化操作。实体管理包括新建、托管、游离和删除等状态。EntityManagerFactory用于创建EntityManager,find和getReference方法用于获取实体,persist用于保存新实体,merge用于同步更新实体,remove执行删除操作,refresh刷新实体数据,contains检查实体是否在上下文中,clear释放上下文资源,flush将变更同步到数据库。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


在JPA规范中,EntityManager是所有持久化操作的中枢。实体作为普通Java对象,只有在调用EntityManager将其持久化后,才会变成持久对象。

根据EntityManager对象的管理方式,有以下两种类型:

l  容器托管

容器托管的EntityManager对象最简单,不需要考虑EntityManager的连接和释放,以及事务的管理,这些操作都由容器来管理。容器托管的EntityManager对象必须在EJB容器中运行,而不能在web容器和JavaSE环境中运行。

l  应用托管

应用托管的EntityManager对象,需要手动管理EntityManager的连接和释放,以及事务管理。应用托管的EntityManager可以脱离EJB容器,而运行在web容器或JavaSE环境中。

 

1、EntityManagerFactory

在web容器或EJB容器中可以通过@PersistenceUnit来注入一个EntityManagerFactory对象,进而获取EntityManager对象;也可以直接通过@PersistenceContext来直接注入一个EntityManager对象。

在JavaSE项目中,可以通过Persistence来创建EntityManagerFactory对象,如下

     EntityManagerFactory emf = Persistence.createEntityManagerFactory("jpa"); 

2、实体的状态

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值