【发布时间】:2011-09-23 21:14:20
【问题描述】:
我正在使用 Spring/JPA2/hibernate 和这段代码:
class A {
@Autowired
B b;
@RequestMapping("/test")
public void test(final HttpServletRequest r1, HttpServletResponse r2) throws ... {
b.inner(); // Works
b.outer(); // javax.persistence.TransactionRequiredException:
// no transaction is in progress ... :|
}
@Component
class B {
@PersistenceContext
EntityManager em;
public void outer() { inner(); }
@Transactional
public void inner() { em.flush(); }
}
为什么inner() 仅在间接调用时才会丢失事务?
【问题讨论】:
标签: java hibernate spring jpa-2.0