究竟如何在Spring中使用LocalEntityManagerFactoryBean配置?

时间:2015-01-02 12:56:48

标签: java spring jpa jpa-2.0 spring-data-jpa

我正在攻读Spring Core认证,我对如何在Spring中使用 JPA 2 抱有以下疑问。

阅读文档,我发现存在3种设置 EntityManagerFactory 的方法,它为我提供了一个 EntityManager ,用作OO模型与数据库关系模型之间的桥梁

这三种方式是:

  1. LocalEntityManagerFactoryBean负责

  2. LocalContainerEntityManagerFactoryBean

  3. 使用JNDI查找

  4. 所以现在我对第一个( LocalEntityManagerFactoryBean )有些怀疑。阅读文档,我发现这种方法对于独立应用程序,集成测试(究竟是什么意味着独立应用程序?)以及它无法指定数据源,特别是关于这最后的陈述:

    • 仅通过JPA进行数据访问时非常有用

    • 使用标准JPA服务位置(SPI)机制 /META-INF/services/javax.persistence.spi.PersistenceProvider

    这究竟意味着什么呢?我知道JPA 2用于将类映射到数据库表并轻松执行数据库上的交互。这种设置 EntityManagerFactory 的方式不能指定数据源吗?我想如果我使用JPA 2,我正在使用数据库,所以我需要一个数据源。

    我错过了什么?

    然后我还将以下与 EntityManagerFactory 配置相关的代码片段示例添加到Spring配置类中:

    @Bean
    public LocalEntityManagerFactoryBean entityManagerFactory() {
        LocalEntityManagerFactoryBean em =
        new LocalEntityManagerFactoryBean();
        em.setPersistenceUnitName(“rewardNetwork”);
        return em;
    }
    

    那么这个bean配置到底是什么?它是如何工作的?

    TNX

0 个答案:

没有答案