【发布时间】:2008-12-31 16:45:51
【问题描述】:
我们使用带有 BMP(bean 管理的持久性)的 EJB2.x 实体 bean。 EJB3 似乎不支持 BMP。我们曾希望保持最新状态并升级到 EJB3。有谁知道 3.0 中是否有任何 BMP 选项可用?
据我所知,使用 3.0,所有实体 bean 都必须使用 JPA 和定义为 ORM。有一些使用原生 SQL 的选项,但这仍然只是使用 JPA 实现 ORM 的一种方式。
我不确定是否有另一种 EJB3 方法可以实现与 EJB2.x BMP 实体 bean 相同的功能。我们目前使用标准的 ejbStore 方法通过原生 SQL 更新数据库,使用 ejbLoad 方法查找所有 bean 并在事务回滚时刷新 bean。我认为您可以使用 EJB3 会话 bean 来做到这一点,但我不确定。
也许我们应该迁移到 Spring,而不是迁移到 EJB3 bean。
【问题讨论】:
-
Spring 和 EJB3 不一定是相互排斥的。你在说春天的哪一部分?这是一个大框架,您不必一次使用所有框架。
-
顺便说一句,我们也使用 BMP 2.1,我感受到了你的痛苦。我认为您在现代 API 中找不到类似内容的原因是人们已经意识到,当我们有许多 ORM 库会以与 db 无关的方式为您生成查询时,手工编写 SQL 是一个坏主意(您只需要指定 db 方言)。
标签: jpa jakarta-ee bmp ejb-2.x