【发布时间】:2011-12-14 15:58:51
【问题描述】:
我刚刚开始使用 Hibernate 和 HSQLDB。在教程中,他们告诉我不要使用反模式“每次操作会话”。但是,每次我提交事务时,会话也会关闭。如果commit() 关闭会话,我应该如何避免使用getCurrentSession()?
我有点好奇人们通常如何处理会议的范围。我已经看过几个关于构建 Web 应用程序的示例,其中每个请求都有一个会话。就我而言,我正在构建服务,并且不能应用相同的想法。该服务 24/7 全天候运行,偶尔会执行一些数据库操作。我应该一直保持数据库会话处于活动状态,并且只使用事务作为操作之间的边界(考虑到我的事务提交不会关闭会话的情况)还是应该为每个操作创建一个新的(这是反模式,但还能怎样?)。
提前致谢!
【问题讨论】:
-
您是指守护进程意义上的“服务”,还是向外部消费者公开的“服务”,这些消费者只是以网络以外的方式进行交互?
-
我的意思是守护进程意义上的“服务”,抱歉,应该澄清一下。