该帖已经被评为良好帖
|
|
---|---|
作者 | 正文 |
发表时间:2012-03-30
xiangdefei 写道 物理事务指数据库本身的事务?逻辑事务指spring事务?
还有比如你的例子当userService.save()方法里调用addressService.save()方法。userservice.save()方法的事务属性是require,addressService.save()方法的事务属性是supports,那么此时addressService.save()方法会使用外围的事务,那么当addressService.save()方法抛出异常,导致事务回滚,会不会也会导致它外围的事务也回滚? 物理事务指数据库本身的事务?逻辑事务指spring事务? 是的 会的 他们在一个逻辑事务(也在一个物理事务) |
|
返回顶楼 | |
发表时间:2012-03-30
楼主人真心不错,上次还专门就spring session 管理的事情发站内信问楼主,楼主很热心哈。连顶10次
|
|
返回顶楼 | |
发表时间:2012-03-30
jiuyuehe 写道 楼主人真心不错,上次还专门就spring session 管理的事情发站内信问楼主,楼主很热心哈。连顶10次
谢谢 支持 |
|
返回顶楼 | |
发表时间:2012-03-30
jiuyuehe 写道 楼主人真心不错,上次还专门就spring session 管理的事情发站内信问楼主,楼主很热心哈。连顶10次
人品一定要好,,技术可以学,人品很难学 哈哈哈 尽自己所能 会的就分享 |
|
返回顶楼 | |
发表时间:2012-09-03
我想问一种情况,我想好久都想不明白。主要对底层不太了解。
我用JPA(hibernate)实现的。 Service接口中有两个方法 dao @Transactional(readOnly = true, propagation = Propagation.SUPPORTS) select() { // @Transactional(readOnly = true, propagation = Propagation.SUPPORTS) dao.selectById(); } @Transactional update() { select(); } 我看LOG4J日志发现:创建两个事务,为什么不是三个方法 Adding transactional method。 04:44:12,173 DEBUG AnnotationTransactionAttributeSource:106 - Adding transactional method 'updateAddress' with attribute: PROPAGATION_REQUIRED,ISOLATION_DEFAULT; '' 04:44:12,175 DEBUG DefaultListableBeanFactory:245 - Returning cached instance of singleton bean 'transactionManager' 04:44:12,176 DEBUG JpaTransactionManager:331 - Found thread-bound EntityManager [org.hibernate.ejb.EntityManagerImpl@1cbc5cb] for JPA transaction 04:44:12,176 DEBUG JpaTransactionManager:365 - Creating new transaction with name [com.glory.maven.ssj.core.service.UserServiceImpl.updateAddress]: PROPAGATION_REQUIRED,ISOLATION_DEFAULT; '' 04:44:12,178 DEBUG JpaTransactionManager:400 - Exposing JPA transaction as JDBC transaction [org.springframework.orm.jpa.vendor.HibernateJpaDialect$HibernateConnectionHandle@1be2b55] 11 04:44:12,179 DEBUG AnnotationTransactionAttributeSource:106 - Adding transactional method 'selectById' with attribute: PROPAGATION_SUPPORTS,ISOLATION_DEFAULT,readOnly; '' 04:44:12,179 DEBUG DefaultListableBeanFactory:245 - Returning cached instance of singleton bean 'transactionManager' 04:44:12,179 DEBUG JpaTransactionManager:331 - Found thread-bound EntityManager [org.hibernate.ejb.EntityManagerImpl@1cbc5cb] for JPA transaction 04:44:12,179 DEBUG JpaTransactionManager:470 - Participating in existing transaction 其中select这个方法的事务方法都没有设置。 |
|
返回顶楼 | |