3

在 Spring Hibernate XML 配置中,我有

<bean id="sessionFactory"
    class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
    <property name="dataSource" ref="dataSource" />
    // ...
    <property name="annotatedClasses">
        <list>
            <value>com.abc.xyz.Foo</value>
            // ...
        </list>
    </property>
    <property name="hibernateProperties">
        <props>
        // ....
        </props>
    </property>
    //..
</bean>

我知道 Spring Java 配置的等效项如下: LocalSessionFactoryBuilder(dataSource()).addAnnotatedClasses(Foo.class).buildSessionFactory();

我的问题是,如果我不使用 LocalSessionFactoryBuilder 类,而是使用 HibernateJpaVendorAdapter 和 LocalContainerEntityManagerFactoryBean 类,如何做同样的事情?

4

1 回答 1

1

您可以通过以下方式执行此操作:

    @Bean
    public AbstractEntityManagerFactoryBean entityManagerFactory() {
        LocalContainerEntityManagerFactoryBean entityManagerFactory = new LocalContainerEntityManagerFactoryBean();
        entityManagerFactory.setDataSource(dataSource);
        entityManagerFactory.setPackagesToScan("com.abc.xyz.Foo");
        entityManagerFactory.setPersistenceProvider(new HibernatePersistence());
        entityManagerFactory.getJpaPropertyMap().put("hibernate.hbm2ddl.auto", "validate");

        return entityManagerFactory;
    }
于 2014-01-21T21:38:22.750 回答