WAS 8.5.5 CMP / BMP和持久性数据源

时间:2017-09-03 21:14:14

标签: java-ee ejb websphere entity-bean

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

提前致谢

1 个答案:

答案 0 :(得分:1)

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

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

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