2008-10-14 23 views
1

它不存在任何状态的问题。然而,为了最简单的访问类,使用原型(每次都是新的)还是singleton更好?哪一个范围应该是DAO通常具有

简单的对象创建对于dao来说是很便宜的..它通常只包含一个sessionfactory, 从单例列表访问对象可能同样很昂贵。

clarfication:这个问题的焦点是,如果有一个共同的约定daos的范围。

回答

3

如果你的问题是关于架构,我会用作用域的DAO到单位工作或交易你正在做去。这减少潜在的交叉污染线程问题

如果你的问题是关于性能,那么答案就在于一个探查,它给你准确号码,您的特定工作量内。

0

我得出的结论是,没有“完美”的方式来决定这一点。单例作用域很可能是在Web应用程序中执行它的错误方式,因为您将有不同的会话 - 每个请求一个。所以在webapp - 请求范围中可能是正确的答案,但前提是您仅在请求中使用它,而不在后台任务中使用。原型范围是可行的 - 但只有当你没有在那里保存复杂的数据时。

相关问题