package com.study.utils;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
/*
解决实体管理器工厂浪费资源和耗时问题
通过静态代码块的实行,当程序第一次访问此工具类时,创建一个公共的实体管理器工厂对象
第一次访问getEntityManager方法:经过静态代码块创建一个factory对象,再调用方法创建一个EntityManager对象
第二次访问getEntityManager方法:直接通过一个已经创建好的factory对象,创建EntityManager对象
*/
public class JpaUtils {
private static EntityManagerFactory factory;
static {
//1、加载配置文件,创建entityManagerFactory
factory = Persistence.createEntityManagerFactory("myJpa");
}
//2、获取EntityManager对象
public static EntityManager getEntityManager(){
return factory.createEntityManager();
}
}