在GWT应用程序的servlet端管理hibernate会话

时间:2014-03-28 23:44:01

标签: hibernate session gwt

我在GWT应用程序中使用hibernate,我有一个单独的客户端/服务/业务/ dao层。

服务/业务层使用dao层来获取/更新用于请求处理的模型。问题是,我正在遵循DOA类方法中打开/关闭hibernate会话的反模式。

一般的hibernate指南似乎表明,我们应该有一个请求范围的会话。这可以在servlet过滤器或服务层等几个地方完成。我们可以打开会话并将其注入DAO层并在完成请求之前将其关闭在服务层中。

我想知道是否有人有任何工作代码/示例说明了处理此问题的任何标准方法。

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

所有GWT请求也使用servlet机制,您可以在web.xml中使用它。您可以创建自己的CustomRequestFactoryServlet,它将从GWT标准servlet扩展,并将会话注入到您的(通用基本服务)并清理会话关闭。

    <servlet>
    <servlet-name>requestFactory</servlet-name>
    <servlet-class>nsa.snowden.CustomRequestFactoryServlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>requestFactory</servlet-name>
    <url-pattern>/gwtRequest</url-pattern>
</servlet-mapping>