第五节 启动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();