【问题标题】:Spring JPA + Hibernate XML ConfigurationSpring JPA + Hibernate XML 配置
【发布时间】:2013-04-22 20:31:05
【问题描述】:

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

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

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

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

请帮帮我,谢谢!

【问题讨论】:

标签: xml spring hibernate jpa configuration


【解决方案1】:

请在下面找到配置

<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>

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

protected EntityManager entityManager;

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

查看link

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

如果你想添加交易使用:

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

那么你可以使用@Transaction

也可以查看channel

【讨论】:

    猜你喜欢
    • 2015-06-25
    • 2020-08-06
    • 1970-01-01
    • 2011-09-02
    • 1970-01-01
    • 2020-03-16
    • 1970-01-01
    • 2018-06-02
    • 1970-01-01
    相关资源
    最近更新 更多