SpringData整合JPA的配置

4 篇文章 0 订阅
4 篇文章 0 订阅

SpirngData与JPA的集成,虽然在SpringBoot中,集成很容易,可是有时候并不知道到底要集成哪些东西,现在用xml配置来说明

一下。

指定properties文件的位置,这个大家都很清楚了,Spring基础知识。

<context:property-placeholder location="classpath:db.properties" />

1.配置数据源 

<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
    <property name="user" value="${jdbc.user}"></property>
    <property name="password" value="${jdbc.password}"></property>
    <property name="driverClass" value="${jdbc.driverClass}"></property>
    <property name="jdbcUrl" value="${jdbc.jdbcUrl}"></property>
    <!-- 超时时间,最大连接数等其他配置 -->
</bean>


2.配置JPA的EntityManagerFactory

<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
    <property name="dataSource" ref="dataSource"></property>
    <!-- 指定Jpa持久化实现厂商类,这里以Hibernate为例 -->
    <property name="jpaVendorAdapter">
        <bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter"></bean>
    </property>
    <!-- 指定在哪个包及其子包下扫描实体类 -->
    <property name="packageToScan" value="com.wantao.springdata"></property>
    <property name="jpaProperties">
        <props>
            <!-- 二级缓存相关配置 -->
            <prop key="hibernate.cache.region.factory_class">org.hibernate.cache.ehcache.EhCacheRegionFactory</prop>
            <prop key="net.sf.ehcache.configurationResourceName">ehcache-hibernate.xml</prop>
            <!-- 生成数据表的列的映射策略 -->
            <prop key="hibernate.ejb.naming_strategy">org.hibernate.cfg.ImprovedNamingStrategy</prop>
            <!-- hibernate基本配置 -->
            <!-- 是否打印sql -->
            <prop key="hibernate.show_sql">true</prop>
            <!-- 打印sql时是否格式化 -->
            <prop key="hibernate.format_sql">true</prop>
            <!-- 生成表的策略 -->
            <prop key="hibernate.hbm2ddl.auto">update</prop>
            <prop key="hibernate.dialect">org.hibernate.dialect.MySql5InnoDBDialect</prop>
        </props>
    </property>
</bean>


3.配置事务管理器

<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
    <property name="entityManagerFactory" ref="entityManagerFactory"></property>
</bean>


4.配置配置支持注解的事务

<tx:annotation-driven transaction-manager="transactionManager"/>


5.配置SpringData。base-package:指定要扫描的包及其子包,比如你的Repository,写在这些包里,SpringData才能识别的到。entity-manager-factory-ref:指定实体管理器工厂Bean,指向第二步中已配置好的EntityManagerFactory。

<jpa:epositories base-package="com.ttb.springdata" entity-manager-factory-ref="entityManagerFactory">
</jpa:epositories>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值