事务管理器:org.jboss.seam煤层在使用Seam事务管理
1°情景扮演事务管理中的作用.transaction.UTtransaction
启用在非EJB环境默认(战争)时,可JTA(JBoss的支持JTA)
如果你正在使用JPA的EntityManager或Hibernate的Session,你需要注册后才能允许Seam管理交易界限
参见9.3. Seam-managed persistence contexts如何设置Seam管理的持久上下文(通过使用@In注入)
然后注入的EntityManager(EntityManager的)或使用@In(作用域ScopeType会话(休眠)。会话)
@Name("businessService")
public class BusinessServiceImpl implementes BusinessService {
@In
private EntityManager entityManager;
public void doSomething() {
// You do not need to call entityManager().getTransaction().begin();
// because Seam Transaction Manager takes care of it
// By using proxies
// Therefore, if you call entityManager().getTransaction().begin()
// You will get IllegalStateException
// Some EntityManager operations persist, find etc
// You do not need to call entityManager().getTransaction().commit();
// because Seam Transaction Manager takes care of it
// By using proxies
}
}
在幕后,煤层事务管理器网罗了EntityManager(JPA)或会话(休眠)在有源JTA的UserTransaction,通过调用joinTransaction方法
2°场景:POJO + RESOURCE_LOCAL由煤层(JPA)使用(无论是休眠或JPA)事务
事务管理器:org.jboss.seam.transaction.EntityTransaction
Transa被Seam(休眠)使用ction经理:org.jboss.seam.transaction.HibernateTransaction
见9.3. Seam-managed persistence contexts如何建立一个Seam管理的持久化上下文(通过使用@In注入)
在幕后,Seam事务经理需要调用开始,通过使用代理
3°情景在底层技术承诺的护理:EJB Seam使用
事务管理器:org.jboss.seam.transaction.CMTTransaction
默认情况下在EJB环境中启用。请注意,在这种情况下,Seam不控制容器管理的交易。
问候,
给@Transactional – Bozho 2009-11-24 11:31:07
org.jboss.seam.annotations.Transactional的全名 – Damo 2009-11-24 12:33:32