1. EJB3 和 Hibernate 是竞争技术还是可以一起使用。
他们有相互竞争的 API(JPA 与 Hibernate 的 API 不同),但是 Hibernate 可以插入到 JPA 下,只是不要期望与为 Hibernate 编码的东西的互操作性 - 特别是 jBPM(3.2)即使在 Seam(2.1.1)下也不能完全互操作.
2. 如果我使用了 JBoss Seam,我是否还需要使用 Hibernate 来满足我的 ORM 需求,还是 Seam + EJB3 可以解决这个问题?
正如我所理解的那样,你可以做任何一个。
3. 如果我必须使用 JBoss Seam 开发 web 应用程序,我需要学习哪些典型框架?是以下部分还是全部:Seam (ofcourse) JSF EJB3 Hibernate Spring Inversion of control container
JSF——Seam 真正有意义的必要条件——我建议关注 facelets 作为创建 JSF 页面的主要方式。语法很好而且很熟悉——普通的旧命名空间限定 XHTML 与位于不同命名空间中的服务器端组件。完全微不足道和干净,不像我尝试过的其他任何东西。
EJB3 - 如果你喜欢,或者不喜欢,由你决定。以这种方式前进会将您拖入 Java EE,这仍然让我有些害怕,尽管它有很多好处。
休眠 - 如果您愿意,由您决定。JPA 实体管理器提供了替代方案。
Spring IoC,呃……是的,如果你喜欢,这又取决于你。Seam 负责有状态的会话和会话范围的 bean(通常是表示逻辑层的一部分),而 Spring 最适合无状态上下文,例如与数据库和任何 SOA 客户端等后端服务的接口。
我发现 Seam + JSF (facelets) + Hibernate + Spring 是通过 jBPM 创建 UI 以及用于交付内容页面的另一个项目的非常好的组合,尽管这并不是 Seam 的真正用途。
- 我可以使用 JBoss Seam 在 JBoss Portal 上开发应用程序吗?
对不起,不能帮你。