JPA EntityManagerFactory Interface With Example
EntityManagerFactory接口-类图
此类图显示
EntityManagerFactory接口-方法摘要
这里列出了EntityManagerFactory接口的重要方法供您参考:
void addNamedEntityGraph(String graphName,EntityGraph EntityGraph) —此方法将
void addNamedQuery(String name,Query query) —此方法用于将查询,类型查询或存储过程查询定义为命名查询,以便可以使用< x2>或
void close()-此方法关闭工厂,释放其拥有的所有资源。
EntityManager createEntityManager()-这将创建一个新的由应用程序管理的
EntityManager createEntityManager(地图地图)-此方法用于创建具有指定Map属性的新应用程序管理的
EntityManager createEntityManager(SynchronizationType automationType) —此方法用于创建具有指定同步类型的新JTA应用程序管理的
EntityManager createEntityManager(SynchronizationType automationType,地图映射) —此方法用于创建具有指定同步类型和属性映射的新JTA应用程序管理的
Cache getCache()-访问与实体管理器工厂关联的缓存("第二级缓存")。
CriteriaBuilder getCriteriaBuilder() —返回用于创建
元模型getMetamodel() —返回元模型接口的实例,以访问持久性单元的元模型。
PersistenceUnitUtil getPersistenceUnitUtil()-此方法返回接口,提供对持久性单元实用程序方法的访问。
Map
布尔值isOpen()-指示工厂是否已打开。
T unwrap(Class cls)-返回指定类型的对象,以允许访问提供程序特定的API。
EntityManagerFactory接口示例
让我们通过示例演示
步骤1:创建实体管理器工厂对象
java.Persistence包中存在的
1 | EntityManagerFactory EntityManagerFactory = Persistence.createEntityManagerFactory("Persistence"); |
持久性-
createEntityManagerFactory()方法—此方法的作用是为命名的持久性单元创建并返回
步骤2:从工厂获得实体管理器
1 | EntityManager EntityManager = EntityManagerFactory.createEntityManager(); |
EntityManager — An
步骤3:初始化实体管理器
1 | EntityManager.getTransaction().begin(); |
getTransaction()方法-此方法返回资源级别的
begin()方法-此方法用于启动事务。
步骤4:将数据保留到关系数据库中
1 | EntityManager.persist(student); |
persist()-此方法用于使实例成为托管实例和持久实例。 实体实例在此方法中传递。
步骤5:完成交易
1 | EntityManager.getTransaction().commit(); |
步骤6:释放工厂资源
1 2 | EntityManager.close(); EntityManagerFactory.close(); |
close()-此方法用于释放工厂资源。
完整的例子
1 2 3 4 5 6 7 8 9 10 11 | private static void insertEntity() { EntityManagerFactory EntityManagerFactory = Persistence.createEntityManagerFactory("Persistence"); EntityManager EntityManager = EntityManagerFactory.createEntityManager(); EntityManager.getTransaction().begin(); Student student = new Student("Ramesh","Fadatare","[email protected]"); EntityManager.persist(student); EntityManager.getTransaction().commit(); EntityManager.close(); EntityManagerFactory.close(); } |
在JPA教程-Java Persistence API上学习JPA的好资源
进一步学习:
JPA EntityTransaction接口与示例
JPA EntityTransaction接口与示例
PSD CRUD示例
JPA EntityManager接口与示例
将JPA实体对象存储到数据库的不同方法
从数据库检索JPA实体对象的不同方法
从数据库中删除JPA实体对象的不同方法
参考文献
https://docs.oracle.com/javaee/7/api/javax/Persistence/EntityManagerFactory.html
PSD素材
PSD素材