(三)JPA工具类
创建实体管理器工厂非常消耗资源并且耗时,所以每次执行数据库操作的时候都获取一遍实体管理器工厂的话性能将会非常的差。所以可以创建一个JPA工具类,使用静态代码块的方式,在第一次访问工具类的时候只创建一次实体管理器工厂供其他的地方使用。
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
/**
* 解决实体管理器工厂的浪费资源和耗时问题
* 通过静态代码块的形式,当程序第一次访问此工具类时,创建一个公共的实体管理器工厂对象
*/
public class JpaUtils {
private static EntityManagerFactory factory;
static {
// 加载配置文件,创建EntityManagerFactory
factory = Persistence.createEntityManagerFactory("myJpa");
}
public static EntityManager getEntityManager() {
return factory.createEntityManager();
}
}