`
mzhj
  • 浏览: 227545 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Persistence创建EntityManagerFactory

    博客分类:
  • DAO
阅读更多

javax.persistenc.Persistence类提供了两个手动创建EntityManagerFactory对象的方法,它们的定义如下所示。

package javax.persistence;

import java.util.*;

public class Persistence {

    /**

    * 指定持久化单元,创建EntityManagerFactory对象

    * @param persistenceUnitName 持久化单元的名称

    */

    public static EntityManagerFactory createEntityManagerFactory(

    String persistenceUnitName) {...}

    /**

    *指定持久化单元和实现者的属性配置,创建EntityManagerFactory对象

    *

    * @param persistenceUnitName持久化单元的名称

    * @param 实现者的属性配置,这些配置将覆盖persistence.xml文件中的配置

    */

    public static EntityManagerFactory createEntityManagerFactory(

    String persistenceUnitName, Map properties) {...}

}

其中,createEntityManagerFactory(String persistenceUnitName, Map properties)方法中properties的参数将覆盖persistence.xml文件配置的参数。

例如persistence.xml中的<property>元素中的配置如下所示。

<?xml version="1.0" encoding="UTF-8"?>

<persistence>

    <persistence-unit name="jpaUnit" transaction-type="RESOURCE_LOCAL">

        <provider>org.hibernate.ejb.HibernatePersistence</provider>

        <properties>子

            <property name = "hibernate.connection.driver_class" value = "com.mysql. jdbc.Dr iver"/>

            <property name = "hibernate.connection.url" value = "jdbc:mysql: //localhost:3306/jp ademo"/>

            <property name = "hibernate.connection.username" value = "root"/>

        </properties>

        <property name="hibernate.show_sql" value="true" />

    </persistence-unit>

</persistence>

其中,属性 hibernate.show_sql的值为true,若创建EntityManagerFactory对象时采用以下的代码,则实际获得的 EntityManagerFactory对象属性hibernate.show_sql则为false,即为代码中所设置的将覆盖配置文件中所配置的,如下所示。

Map properties = new HashMap();

properties.put("hibernate.show_sql", "false");

EntityManagerFactory emf = Persistence.createEntityManagerFactory("jpaUnit", properties);

分享到:
评论

相关推荐

    javax.persistence.jar

    通过`Persistence.createEntityManagerFactory()`可以创建并返回`EntityManagerFactory`。 6. `Query`: 该接口提供了执行JPA查询的能力,包括根据实体类或JPQL(Java Persistence Query Language)编写的查询。 当...

    persistence-2_0-final-jar_and_schema.zip

    2. **创建EntityManagerFactory**:根据持久化单元配置,通过Persistence.createEntityManagerFactory()方法创建EntityManagerFactory实例,它是持久化服务的工厂。 3. **获取EntityManager**:使用...

    javax.persistence-2.0.0.jar 包

    EntityManagerFactory emf = Persistence.createEntityManagerFactory("persistenceUnit"); EntityManager em = emf.createEntityManager(); em.getTransaction().begin(); em.persist(user); em.getTransaction()....

    javax.persistence.jar.zip

    JPA的核心概念包括实体(Entity)、实体管理器(EntityManager)、实体工厂(EntityManagerFactory)、查询语言(JPQL,Java Persistence Query Language)等。实体是应用程序中的业务对象,它们通过注解与数据库表...

    javax.persistence.Entity 的jar包文件

    4. **实体管理工厂**:通过`EntityManagerFactory`创建实体管理器实例,这是与数据库交互的主要接口。 5. **事务管理**:根据应用需求选择合适的事务管理策略,如JTA或编程式事务管理。 6. **执行CRUD操作**:使用`...

    ejb3-persistence

    ejb3-persistence.jar文件是EJB3持久化模块的实现库,它包含了EJB3规范中关于持久化的API和实现,如EntityManager和EntityManagerFactory等接口,以及它们的实现类。这些类和接口提供了CRUD(创建、读取、更新、删除...

    springmvc4+hibernate4 jpa实现整合(含jar包)

    通过参考和引用传智播客的免费教程,将springmvc4.1.6与hibernate4.3.10提供的JPA...7.注意web.xml,spring.xml,spring.xml,db.properties,persistence.xml文件的配置。 写了这么多,很辛苦,若对你有帮助,请给好评。

    ejb3-persistence.jar

    2. 自动化持久化:通过@PersistenceContext和@PersistenceUnit注解,可以轻松地注入EntityManager和EntityManagerFactory,从而进行CRUD(创建、读取、更新和删除)操作。 3. 查询语言:JPA提供了JPQL(Java ...

    persistence-api.zip

    EntityManagerFactory是EntityManager的工厂,负责创建EntityManager实例。它是线程安全的,通常在应用启动时创建一次,然后在整个应用程序中重用。 **JPQL(Java Persistence Query Language)** JPQL是JPA提供的...

    springMVC+JAP整合简化persistence.xml配置文件

    这样,我们可以在Controller层直接进行数据操作,无需手动创建和管理EntityManager实例。 在简化`persistence.xml`配置文件的过程中,我们可以利用Spring的`LocalContainerEntityManagerFactoryBean`来替代传统的...

    springMVC+JAP整合出去persistence.xml配置文件

    `dataSource()`方法创建了一个DBCP数据源,`entityManagerFactory()`方法则创建了`EntityManagerFactory`,并指定了实体扫描的包和持久化提供者。 使用DBCP作为数据源是因为其简单易用,且具有良好的性能。它支持...

    Java标准版的EJB Persistence(一)

    在这个例子中,`Persistence.createEntityManagerFactory()`用于获取EntityManagerFactory,它是创建EntityManager的工厂。然后,通过EntityManager的`persist()`方法将Address对象持久化到数据库中。事务管理是必要...

    JPA(Java Persistence API) JPA中文教程

    4. **实体管理器工厂(EntityManagerFactory)**:它是创建实体管理器的工厂,通常在应用启动时创建,然后在整个应用生命周期中重复使用。 5. **持久化上下文(Persistence Context)**:实体管理器维护了一个持久...

    来自Java Persistence With Hibernate的示例

    实体管理器则负责执行CRUD(创建、读取、更新和删除)操作,而实体管理工厂则用于创建实体管理器实例。 接着,我们将探讨Hibernate的配置。这通常涉及在配置文件中指定数据库连接信息,如URL、用户名和密码,以及...

    JPA2.0 javax.persistence src 源码

    `EntityManagerFactory`是创建`EntityManager`实例的工厂,可以通过`Persistence.createEntityManagerFactory()`来获取。 2. **查询语言**:JPA 2.0引入了JPQL(Java Persistence Query Language),这是一种面向...

    JPA (Java Persistence API)

    4. **实体管理工厂(EntityManagerFactory)**: 是创建EntityManager的工厂,负责配置JPA设置,如数据源、持久化单元等。 5. **持久化单元(Persistence Unit)**: 定义了应用程序中所有参与持久化的实体和相关配置...

    ejb3 jpa初探

    import javax.persistence.EntityManagerFactory; import javax.persistence.PersistenceUnit; public class UserService { @PersistenceUnit private EntityManagerFactory entityManagerFactory; public ...

    JPA-3 核心API

    // 创建EntityManagerFactory EntityManagerFactory emf = Persistence.createEntityManagerFactory("persistence-unit-name"); // 获取EntityManager EntityManager em = emf.createEntityManager(); // 开始事务...

    persistence-2_0-final-javadocs

    应用程序通常只创建一个EntityManagerFactory实例,因为它比较昂贵,但可以创建多个EntityManager实例。 5. **事务(Transactions)**: JPA支持声明式和编程式的事务管理。@javax.persistence.TransactionAttribute...

    com.springsource.javax.persistence-2.0.0.jar.zip

    3. 配置实体管理工厂:声明一个EntityManagerFactoryBean,该bean负责创建EntityManagerFactory,它是JPA的主要入口点。 4. 配置事务管理器:设置PlatformTransactionManager,如JpaTransactionManager,以处理事务...

Global site tag (gtag.js) - Google Analytics