MyEclipse6Java开发中文教程 o find (Class<T>, Object)<T> rEference(Class <t> Object) <T> ●ushO:void o setFlushMode (FlushModeType): void o getFlushModeo: FlushModeType lock(Object, LocHModeType) o clear: void o contains ( Object): boolean o createQuery (String): Query o createNamedquery (String): Query o createNativeQuery (String):Query o createNativeQuery (String, Class): Query o createNativeQuery (String, String):Query Transaction O close: void ●is0penO: boolean getTransaction(: EntityTransaction 图135PA实体工厂类图 那么这几个类之间有何关系呢?在独立运行的模式下,EJB3定义了一个 avax persistence Persistence i类用于启动EB3运行环境。只有 Entity Manager是最后 和实体打交道的对象,包括保存,更新,删除和查询等等操作,而要获得Ent! Manager, 首先需要通过 Persistence类调用其 create EntityManagerFactory方法获得 Entity ManagerFactory,然后调用 EntityManagerFactory的 createEntity Manager(方法获 得。我们可以认为, Persistence相当于JDBC的驱动类, EntityManagerFactory则相当 于连接工厂,而 Entity Manager则最后和特定的数据库建立连接并互相操作。下面是一段示 例代码 EntityManagerFactory emf Persistence createEntityManagerFactory (JPADemoPU EntityManager entityManager emf create Entity Manager( 当调用 Persistence. createEntityManagerFactory(的时候, Persistence会是否存在 META- INF/persistence.xml配置文件,然后根据此文件再来初始化 EntityManagerFactory 从图135中可以看到 Persistence和 EntityManagerFactory都是相当简单的类,它们之间 的关系就是一个创建与被创建的工厂模式(就跟拖拉机厂造拖拉机一样)。 Persistence类的 createEntityManagerFactory()方法有两个参数:必选的持久化单元名称( String类型) 和可选的额外属性设置(Map类型)。同样的 EntityManagerFactory中的 createEntityManager0方法也可以带一个可选的额外属性设置参数(Map类型)。 另外在容器环境下(一般是位于EJB服务器中,后面的EJB章节中会加以介绍),创 建 Entity ManagerFactory或者 EntityManager可以不用通过 Persistence来进行,而使用标 注即可,一般其代码如下所示 @Persistence Context EntityManager em, @Persistence Unit 刘长炯著MyEclipse 6 Java 开发中文教程 14 刘长炯著 图 13.5 JPA 实体工厂类图 那么这几个类之间有何关系呢?在独立运行的模式下, EJB3 定义了一个 javax.persistence.Persistence 类用于启动 EJB3 运行环境。只有 EntityManager 才是最后 和实体打交道的对象,包括保存,更新,删除和查询等等操作,而要获得 EntityManager, 首先需要通过 Persistence 类调用其 createEntityManagerFactory() 方法获得 EntityManagerFactory,然后调用 EntityManagerFactory 的 createEntityManager()方法获 得。 我们可以认为,Persistence 相当于 JDBC 的驱动类,EntityManagerFactory 则相当 于连接工厂,而 EntityManager 则最后和特定的数据库建立连接并互相操作。下面是一段示 例代码: EntityManagerFactory emf = Persistence.createEntityManagerFactory(“JPADemoPU”); EntityManager entityManager = emf.createEntityManager(); 当调用 Persistence.createEntityManagerFactory()的时候,Persistence 会是否存在 META-INF/persistence.xml 配置文件,然后根据此文件再来初始化 EntityManagerFactory。 从图 13.5 中可以看到 Persistence 和 EntityManagerFactory 都是相当简单的类,它们之间 的关系就是一个创建与被创建的工厂模式(就跟拖拉机厂造拖拉机一样)。Persistence 类的 createEntityManagerFactory()方法有两个参数:必选的持久化单元名称(String 类型) 和可选的额外属性设置( Map 类 型 )。 同 样 的 EntityManagerFactory 中 的 createEntityManager()方法也可以带一个可选的额外属性设置参数(Map 类型)。 另外在容器环境下(一般是位于 EJB 服务器中,后面的 EJB 章节中会加以介绍),创 建 EntityManagerFactory 或者 EntityManager 可以不用通过 Persistence 来进行,而使用标 注即可,一般其代码如下所示: @PersistenceContext EntityManager em; @PersistenceUnit