DAO通常应该具有哪个范围
-
03-07-2019 - |
题
毫无疑问,dao不会持有任何州。
但是,为了最方便地访问该类,使用原型(每次都是新的)还是单例更好?
简单的对象创建对dao来说很便宜..它通常只包含sessionfactory, 从单身人士列表中访问对象可能同样昂贵。
澄清:这个问题的焦点是,如果对daos的范围有一个共同的约定。解决方案
如果你的问题是关于架构,我会选择将DAO作为工作单元或您正在进行的交易。 降低 跨交易污染和线程问题的可能性。
如果您的问题是关于效果,那么答案就在分析器中,这为您的特定提供准确数字工作量强>
其他提示
我得出的结论是,没有“完美”的结论。决定这一点的方式。单例范围很可能是在Web应用程序中执行此操作的错误方式,因为您将有不同的会话 - 每个请求一个。所以在webapp中 - 请求范围可能是正确的答案,但前提是您只在请求中而不是在后台任务中使用它。原型范围是可行的 - 但前提是你没有在那里保存复杂的数据。
不隶属于 StackOverflow