0

最近,我开始学习 Spring JPA,我对在 xml 配置中设置 Spring JPA 感到困惑。

我用谷歌搜索了 spring 文档站点,但我从那里得到的信息不多。我用谷歌搜索了一些示例来设置 Spring JPA,但是这些示例没有对其中使用的 bean 和属性进行任何详细说明。

他们还使用不同的方法,例如在一个示例中,它使用 org.apache.commons.dbcp.BasicDataSource,而第二个示例使用 org.springframework.jdbc.datasource.DriverManagerDataSource。在一个示例中,它定义了 jpaVendorAdapter 属性,但另一个没有定义它。

我只是知道使用 Hibernate 作为其提供者在 XML 中设置 Spring JPA 配置的最佳方法。

请各位大侠帮帮我,谢谢!

4

1 回答 1

0

请在下面找到配置

<jdbc:embedded-database type="H2" id="dataSource">
</jdbc:embedded-database>
<bean id="entityManagerFactory"
    class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"
        p:dataSource-ref="dataSource" p:packagesToScan="org.spring.web.example.domain">
    <property name="jpaVendorAdapter">
        <bean id="jpaAdapter"
                class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter"
                p:generateDdl="true" p:showSql="true" p:databasePlatform="org.hibernate.dialect.MySQLDialect" />
    </property>
</bean>

此配置是在嵌入式数据库上定义数据源,您可以将其更改为您喜欢的任何数据库,然后定义要在 jpa DAO 中使用的 entityManagerFactory 为

protected EntityManager entityManager;

public EntityManager getEntityManager() {
    return entityManager;
}
@PersistenceContext
public void setEntityManager(EntityManager entityManager) {
    this.entityManager = entityManager;
}

检查链接

对我来说,目前我正在使用 spring-Data JpaRepository 而不是从头开始创建 DAO,

如果你想添加交易使用:

<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager"
    p:entityManagerFactory-ref="entityManagerFactory" />
<tx:annotation-driven />

那么你可以使用@Transaction

也检查这个频道

于 2013-04-29T11:26:24.067 回答