【发布时间】:2011-11-27 05:38:06
【问题描述】:
EJB 3 服务和 POJO 服务有什么区别?现在 EJB 轻巧且易于开发,并且与 JPA 配合得很好?
1) 好处 2) 性能
两者都注入了 EntityManager
任何指向 EJB 和 POJO 服务的性能结果的链接
【问题讨论】:
EJB 3 服务和 POJO 服务有什么区别?现在 EJB 轻巧且易于开发,并且与 JPA 配合得很好?
1) 好处 2) 性能
两者都注入了 EntityManager
任何指向 EJB 和 POJO 服务的性能结果的链接
【问题讨论】:
现在可以将 EJB3 会话 bean 视为 POJO。
如果您使用 XML 在它们上启用服务,它们基本上会传递每个 POJO 定义。如果您使用注释,它们会传递作为 POJO 的较弱定义。
与使用服务(如 CDI)增强 POJO 的其他框架的主要区别在于,在 CDI 中可以更细粒度地应用服务。使用 EJB 会话 bean,一个注解可以一次性为您提供大量服务。中长期计划似乎是将 EJB 改造为 CDI 服务的集合(http://java.net/jira/browse/EJB_SPEC-26 是一个很好的例子,具体的例子有 http://java.net/jira/browse/EJB_SPEC-1)。
另一方面,如果“POJO 服务”是指没有任何类型的服务被框架(EJB、CDI、Spring 等)应用于它们的类,那么答案是这些服务是由框架是一般的东西,否则你必须自己实现。
您要么构建自己的框架来做完全相同的事情,但可能没有那么好,因为您不太可能只与整个团队一起开发该框架,或者您在您的服务。这会使它们变得混乱,使它们更加冗长,并且可能意味着您将一遍又一遍地复制/粘贴它们。
【讨论】:
EJB 有免费的事务、生命周期和拦截器,而 POJO 没有。
【讨论】: