【问题标题】:Hibernate with Tomcat vs Hibernate with JBoss使用 Tomcat 进行休眠与使用 JBoss 进行休眠
【发布时间】:2010-11-26 07:21:41
【问题描述】:

我是一个新手,试图弄清楚将 Hibernate 与 Tomcat 和 JBoss 一起使用的优缺点。

我正在开发一个 Web 应用程序,前端使用 Flex,使用 BlazeDS 作为消息传递服务,后端使用 Java。我们已决定使用 Hibernate 作为持久性机制,但想知道将它与 Tomcat 和 JBoss 一起使用的权衡取舍。

谢谢。

【问题讨论】:

  • 感谢大家的快速回复。我想知道将 Hibernate 与 JBoss(因为它是一个应用程序服务器)一起使用是否比与 Tomcat 一起使用有任何优势。谢谢

标签: hibernate tomcat jboss jakarta-ee


【解决方案1】:

Tomcat 是 JBoss 的 servlet 引擎,因此无论如何您都将使用 Tomcat。

在你的情况下,我会选择 JBoss。它已经与 Hibernate 一起提供,无需在应用程序中捆绑 Hibernate。 JBoss 预先配置了多个不同的配置文件,因此您可以选择满足您需要的配置文件,而无需太多负担(即您可以放心地忽略所有繁重的 JavaEE 内容)。同样,如果您的应用程序需要开始使用更多 JavaEE 东西(例如 Web 服务、EJB3),您可以轻松引入这些 JBoss 服务。

顺便说一句,您可能希望将 GraniteDS 作为 BlazeDS 的替代品,它似乎是一款更好的软件。

【讨论】:

    【解决方案2】:

    我相信 JBOSS EJB3 正在使用 Hibernate 作为其 JPA 实现。 Hibernate 也嵌入到 Seam 中。而且 JBOSS 使用 Tomcat 作为其 servlet/JSP 引擎,因此您的比较不是“非此即彼”。

    如果做得好,您选择的 Flex 不应该知道或关心您如何坚持。这应该通过消息传递接口对客户端隐藏。

    【讨论】:

      【解决方案3】:

      应该没什么区别。您可以同时使用 Hibernate。

      话虽如此,我还是建议将它与 JBoss 一起使用,因为它已安装 OOB,您无需专门配置应用程序服务器即可使用 Hibernate。

      另外,考虑使用 JPA (EJB3)。如果您使用 JBoss,您将在底层使用 Hibernate,您将从使用更通用的 Java EE 标准中受益。

      【讨论】:

      • 您可以通过 Hibernate EntityManager 选择使用 JPA(并且不使用 Hibernate 扩展),无论是否使用 JBoss。将 JBoss just 用于 Hibernate 是多余的。
      • 是的,但他还需要一个 Servlet Container。一个具有 Hibernate 和开箱即用配置的 Servlet 容器的 APP 服务器是 JBoss...
      【解决方案4】:

      使用带有 Hibernate 的 JPA 作为 Tomcat 上的 JPA 实现。这更简单,更简单通常更好。如果需要,您可以轻松“升级”到 JBoss 提供的更完整的堆栈,因为它使用 Tomcat 作为其 servlet 容器。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-09-10
        • 1970-01-01
        • 1970-01-01
        • 2011-04-22
        • 2012-10-17
        • 2012-02-19
        • 2017-12-17
        • 2016-12-11
        相关资源
        最近更新 更多