3

我们使用带有 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。

4

2 回答 2

0

如果您真的想手动编写 SQL,请选择 POJO 和原始 JDBC DAO。但这也可能是一个重新思考您做事方式并拥抱 ORM/JPA 的机会。

于 2010-09-02T00:44:49.880 回答
0

过去,我使用 JTA 混合使用 Hibernate + EJB2 (CMP + BMP) 共享事务上下文,没有任何问题。

这个问题非常相似......看看https://cwiki.apache.org/GMOxDOC22/developing-bean-managed-persistence-with-jpa.html。您可以实现自己的 EntityManager。

运气好的话,您甚至可以共享事务上下文。

于 2010-09-02T00:53:00.567 回答