☆persistence对象
Persistence对象主要作用是用于获取EntityManagerFactory对象的。通过调用该类的createEntityManagerFactory静态方法,根据配置文件中持久化单元名称创建EntityManagerFactory。
Persistence.createEntityManagerFactory(“持久化单元名称”);获取一个EntityManagerFactory对象
☆EntityManagerFactory接口
EntityManagerFactory主要用来创建EntityManager实例
factory.createEntityManager();
由于EntityManagerFactory是一个线程安全的对象(即多个线程访问同一个EntityManagerFactory对象不会有线程安全问题),并且EntityManagerFactory 的创建极其浪费资源,所以在使用JPA编程时,我们可以对EntityManagerFactory的创建进行优化,只需要做到一个工程只存在一个EntityManagerFactory 即可
☆EntityManager
在 JPA 规范中, EntityManager是完成持久化操作的核心对象。实体类作为普通 java对象,只有在调用 EntityManager将其持久化后才会变成持久化对象。EntityManager对象在一组实体类与底层数据源之间进行 O/R 映射的管理。它可以用来管理和更新 Entity Bean, 根椐主键查找 Entity Bean, 还可以通过JPQL语句查询实体。
我们可以通过调用EntityManager的方法完成获取事务,以及持久化数据库的操作
方法:
getTransaction():获取事务对象 persist():保存操作 merge():更新或保存(当对象不是po时,保存对象) remove():删除操作 find()/getReference():根据id查询,find立即查询,getReference延迟查询
☆EntityTransction
事务操作的核心对象
begin():开启事务
commit():提交事务
rollback():回滚事务