使用不可序列化的EntityManager进行有状态会话bean钝化?

时间:2011-10-28 13:06:57

标签: ejb-3.0 cdi entitymanager

我刚读过Adam Bien的Why stateful and local anti-facades are KISS,他建议在整个客户端交互过程中使用带有EntityManager的SFSB来保持实体连接。

  1. 这不是在注释中提到的群集环境中失败,而且每当SFSB被容器钝化时都会失败吗?

  2. 如果我说对了你会建议什么样的解决方案?我想最小化应用程序中的层数,将SFSB绑定到会话范围然后直接在我的JSF视图中引用它们是有用的。

1 个答案:

答案 0 :(得分:1)

通常,拥有基于状态的体系结构是可反向扩展的。

我已经在多个项目中使用EJB 3 SLSB超过5年,并且从未遇到过合并实体的真正问题。

如果您愿意,可以通过添加一层DTO将您的客户端层与持久层分离。这样,您可以根据客户想要呈现数据的方式,根据业务/持久层和DTO的最佳设计实体模型。

如果你想使用相同的对象,你仍然可以这样做,你应该只注意哪些对象是“在会话中”,哪些是分离的,你不会有任何合并问题。