我正在研究 GWT 2.5.1 + Spring 3.2 + Hibernate 4 项目。Spring-Hibernate 应用程序已经在工作并且具有通常的 Service/Dao 层。事务由 Spring 通过服务方法上的 @Transactional 注释处理。
我正在尝试使用 GWT RequestFactory 在其上添加 GWT 层。特别是,我不明白 RequestFactory 和 Spring 管理的事务应该如何一起工作。
看起来 RequestFactory 在实际调用请求的服务方法之前和之后执行了很多查询(参见 Locator 类的 find/getId 方法)。顺便说一句:Locator 是否应该依赖 Spring 服务 bean 来执行这些查询?大概吧。
这意味着 RequestFactory 在不同的事务中做事,这是不好的。我希望整个请求发生在同一个事务中以利用 Hibernate 缓存(嗯,这只是主要原因)。
我认为 @Transactional 注释应该以某种方式向上移动到 GWT 服务器层,但它们必须在 Spring bean 上才能工作,所以......
集成 GWT RequestFactory 和 Spring 管理的事务的最佳方式是什么?