1、在使用Hibernate实现数据库层和事务的情况下了,service层是带有事务的标识,action——>service——>dao的过程中,action每次调用service都会走一个事务,完成后是一个提交commit。service层的这种事务在SpringMVC中常用的就是注解如:
‘
那么,这种注解对于这个service的类中所有方法都会走事务拦截,并且Hibernate提供了事务传播属性来控制事务大小和行为:
http://blog.youkuaiyun.com/it_man/article/details/5074371
2、常见的Hibernate处理业务问题,比如级联删除,只要是实体中定义了级联删除,比如:
那么删除其主实体,Hibenate也会自动处理删除。
3、对于一些特殊的地方,想支持级联删除,又想让用户有所选择,这样后端删除逻辑就得变化。那么删除时,我们可以把其关联实体相关设为null,就可以单独删除了。
xxxx.setDimensions(null);
dao_yyy.deleet(xxxxx);
当然,复杂处理删除时,我们还得看情况处理这些值。