今天想用spring中的 getHibernateTemplate().save()写数据库,但执行程序后没有任何错误信息,而数据也没有写入到数据库中,如果你也遇到同样的问题,下面的解决方法也许可以帮到你。
在spring的配置文件中完成以下两步就可以了:
添加一个TransactionProxyFactoryBean的定义,target指向你程序中将要调用的DAO
<bean id="userInfoDAOProxy"
class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="transactionManager">
<ref local="myTransactionManager"/>
</property>
<property name="target">
<ref local="userInfoDAO"/>
</property>
<property name="transactionAttributes">
<props>
<prop key="save*">PROPAGATION_REQUIRED</prop>
</props>
</property>
</bean>
修改原来的业务bean的定义,将依赖DAO对象改为DAO的代理,即上面一步设置的userInfoDAOProxy
<bean id="userInfoService" class="com.aw.service.spring.UserInfoServiceImpl">
<property name="userInfoDAO">
<ref local="userInfoDAOProxy"/>
</property>
<property name="userInfo">
<ref local="user"/>
</property>
</bean>