我該如何強制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