事務管理器: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