通过spring的orm修改persistence.xml文件的存放路径

本文介绍如何在Spring框架中配置JPA实体管理器,并指定persistence.xml文件位置。同时,展示了如何设置事务管理器及AOP事务拦截,以及使用JpaDaoSupport类进行数据库操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在默认情况下,persistence.xml是存放在classpath路径下的META-INF/文件夹下面的。但是这样的话,跟我们的习惯不一样,因为可以通过在spring的配置文件中,指明persistence.xml文件的位置来进行配置。代码如下:

 

<!-- 配置JPA实体管理器工厂 -->
	<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
		<property name="persistenceUnitName" value="test" />
		<property name="persistenceXmlLocation" value="classpath:persistence.xml" />
	</bean>

	<!-- 配置事务管理器 -->
	<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
		<property name="entityManagerFactory">
			<ref bean="entityManagerFactory" />
		</property>
	</bean>

<!-- 配置AOP事务拦截-->
	<aop:config>
		<aop:pointcut id="ServiceMethods" expression="execution(public * net.kentop.cmmp.service.*.impl.*.*(..))" />
		<aop:advisor advice-ref="txAdvice" pointcut-ref="ServiceMethods" />
	</aop:config>

	<!-- 配置事务通知的属性 -->
	<tx:advice id="txAdvice" transaction-manager="transactionManager">
		<tx:attributes>
			<tx:method name="*" propagation="REQUIRED" />
			<tx:method name="get*" propagation="REQUIRED" read-only="true" />
		</tx:attributes>
	</tx:advice>

 

    以上的配置还配置了事务和AOP事务拦截。

 

    这样的话,要使用到hibernate的dao层就要继承

org.springframework.orm.jpa.support.JpaDaoSupport类,这样才可以getJpaTemplate()方法获得entityManager实例,对数据库进行操作

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值