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