浏览 4961 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-09-19
映射文件的结构 <bean id="userDAO" parent="transactionProxyTemplate"> <property name="proxyInterfaces"> <list><value>com.journal.dao.UserDAO</value></list> </property> <property name="target"> <bean class="com.journal.dao.hibernate.UserDAOHibernate"> <property name="sessionFactory"> <ref local="sessionFactory"/> </property> </bean> </property> </bean> <bean id="transactionProxyTemplate" abstract="true" lazy-init="true" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"> <property name="transactionManager"> <ref bean="transactionManager"/> </property> <property name="transactionAttributes"> <props> <prop key="save*">PROPAGATION_REQUIRED</prop> <prop key="update*">PROPAGATION_REQUIRED</prop> <prop key="remove*">PROPAGATION_REQUIRED</prop> <prop key="create*">PROPAGATION_REQUIRED</prop> <prop key="submit*">PROPAGATION_REQUIRED</prop> <prop key="withdraw*">PROPAGATION_REQUIRED</prop> <prop key="distribute*">PROPAGATION_REQUIRED</prop> </props> </property> </bean> <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> <property name="sessionFactory"> <ref local="sessionFactory"/> </property> </bean> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="dataSource"> <ref local="dataSource"/> </property> </bean> 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2007-09-19
具体说一下:比如User中有个字段是Group,一个user的缺席变成了True,或者这个user被删除了,这时就得修改Group的数量(减一),大概的业务需求就是这样的。
刚开始的时候我在sessionfactory中注入的拦截器,可是不知道怎么将已经减一的那个group持久化到数据库中? 请问我应该在什么地方注入拦截器好? |
|
返回顶楼 | |
发表时间:2007-09-20
怎么就光有人看,没人回呢?
现在这得人气比原来低了好多啊。 |
|
返回顶楼 | |
发表时间:2007-09-20
可否转换一下思路,使用Spring的AOP来拦截,按照你的需求,在update/delete A时候触发拦截器,调用B相关的方法来修改B的数量……这样就不用考虑映射问题了
|
|
返回顶楼 | |
发表时间:2007-09-20
能否再具体的说说呢。
|
|
返回顶楼 | |
发表时间:2007-09-21
怎么就没人关注一下呢?
|
|
返回顶楼 | |
发表时间:2007-10-06
当用户在执行UserAction的Delete方法的时候,必然会调用你UserService的那个Delete方法对不对?
用Spring写一个Action的after拦截器是不成问题吧(我这里是用Struts2的拦截器,Spring肯定有更强大的),这个时候你就可以在拦截器里通过传过来已经删除的User id号把数据库记录给更新了。 |
|
返回顶楼 | |
发表时间:2007-12-28
既然B是A的一个属性,况且 这又是一个单一业务,非一类问题的业务,总觉的用拦截器不太合适, 倒不如在Service中程序控制,级联更新更舒服。
|
|
返回顶楼 | |
发表时间:2007-12-28
用aop 做比较好,这样不会打乱程序的结构
|
|
返回顶楼 | |