【发布时间】:2011-03-13 07:01:20
【问题描述】:
我正在编写一个相当简单的应用程序,它使用 GWT、Hibernate 和 Google Guice(使用 GIN)。我想做的是使用外部管理器管理事务(例如在 Spring 中使用 @Transactional),而不是使用 EntityManager#getTransaction。我尝试使用@Transactional,但它似乎对我不起作用。
我已经使用 Providers 注入了 EntityManager,如下所示:
/* import stuff */
public class DbProvider implements Provider<EntityManager> {
public EntityManager get() {
EntityManagerFactory emf = Persistence.createEntityManagerFactory("persdb");
return emf.createEntityManager();
}
}
手动管理事务时似乎可以正常工作。我想自动管理事务,也为了使用 DBUnit 进行自动化测试。
有人知道怎么解决吗?
【问题讨论】:
标签: java hibernate transactions guice