第五节 启动JPA程序

本项目中,使用Hibernate作为隐藏在JPA幕后的ORM框架。

Java EE环境中,由应用服务器负责启动JPA。包含持久化单元(内含实体、值对象、映射元数据和persistence.xml文件)的工件(warear存档文件)被部署到应用服务器之后,应用服务器会扫描持久化单元,读取persistence.xml文件和映射元数据,据此启动JPA程序。

Java SE环境下,由应用代码负责启动JPA。基本步骤如下:

  1. 通过Persistence类的静态工厂方法createEntityManagerFactory()创建EntityManagerFactory,传入持久化单元的名字作为参数(持久化单元的名字在/META-INF/persistence.xml文件中定义)。

    EntityManagerFactory emf = Persistence.createEntityManagerFactory("default");
    
  2. 通过EntityManagerFactorycreateEntityManager()方法创建EntityManager

    EntityManager entityManager = emf.createEntityManager();
    
  3. 使用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();
    

results matching ""

    No results matching ""