我该如何强制EJB在每一个命令后都不刷新所有内容,我想做一个事务。我读过,这是以某种方式声明式完成的。但究竟如何? 在ejb 3.0中声明一个事务
@Stateless
public class SomeBean{
@PersistenceContext
EntityManager em;
public void doSomeStuffAndThenFlushToTheDb(){
em.persist(entity);
// it's flushed by now, I don't want that
em.persist(somethingElse);
// now I want to flush both
em.flush();
}
}
哪个db?如果你的数据库不支持事务(例如mysql中的myisam),可能会出现奇怪的结果 – 2013-09-20 20:55:00
如果你想回滚当前事务,使用“@Resource SessionContext context”将SessionContext注入到bean中,并调用context.setRollbackOnly()来回滚。 – 2013-09-20 21:03:20