第五节 启动JPA程序
本项目中,使用Hibernate作为隐藏在JPA幕后的ORM框架。
在Java EE环境中,由应用服务器负责启动JPA。包含持久化单元(内含实体、值对象、映射元数据和persistence.xml文件)的工件(war或ear存档文件)被部署到应用服务器之后,应用服务器会扫描持久化单元,读取persistence.xml文件和映射元数据,据此启动JPA程序。
在Java SE环境下,由应用代码负责启动JPA。基本步骤如下:
通过
Persistence类的静态工厂方法createEntityManagerFactory()创建EntityManagerFactory,传入持久化单元的名字作为参数(持久化单元的名字在/META-INF/persistence.xml文件中定义)。EntityManagerFactory emf = Persistence.createEntityManagerFactory("default");通过
EntityManagerFactory的createEntityManager()方法创建EntityManager。EntityManager entityManager = emf.createEntityManager();使用
EntityManager进行各种持久化和查询操作。例如:EntityTransaction transaction = entityManager.getTransaction(); transaction.begin(); String jpql = "select o from Order o where o.buyer = :buyer"; List<Order> results = entityManager.createQuery(jpql, Order.class) .setParameter("buyer", buyer) .getResultList(); transaction.commit(); entityManager.close();