【问题标题】:WAS 8.5.5 CMP/BMP and Persistence DataSourceWAS 8.5.5 CMP/BMP 和持久性数据源
【发布时间】:2017-09-03 21:14:14
【问题描述】:

我正在开发一个 Java EE 应用程序,使用 Servlet、JSP、JPA、EJB。由于我已经在 Websphere 控制台中配置了一个数据源(Oracle 11g),我想知道我是否必须在我的代码中使用 CMP Entity bean,或者一个简单的无状态会话 bean 和 persistence.xml(使用配置的数据源的 JNDI是)。

提前致谢

【问题讨论】:

    标签: jakarta-ee ejb websphere entity-bean


    【解决方案1】:

    您不必使用 CMP 实体 bean。 JPA 是 EJB 实体 bean 的替代品,应该是首选技术(使用 WAS 中配置的数据源的 JNDI)。 CMP/BMP 实体 bean 现在是 Java EE 的可选部分,并且在 WebSphere Liberty 中不受支持(尽管它们在传统的 WebSphere 中继续受支持,即使在 v9.0 中也是如此)。

    此外,您甚至不需要将无状态会话 bean 与 JPA (persistence.xml) 一起使用;您可以直接从您的 servlet 中使用 JPA,尽管无状态会话可能是封装数据库访问和提供事务支持的好方法。

    请注意,应避免同时使用 CMP 实体 bean 和 JPA (persistence.xml)。您最终会使用两种不同的技术来尝试访问(和锁定)数据库行,并且会遇到死锁和/或损坏。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-14
      • 1970-01-01
      • 2015-12-23
      相关资源
      最近更新 更多