3

BMP (Bean Managed Persistence) を備えた EJB2.x エンティティ Bean を使用します。BMP は EJB3 ではサポートされていないようです。私たちは最新の状態を維持し、EJB3 にアップグレードしたいと考えていました。実際に 3.0 で利用可能な BMP オプションがあるかどうか、誰か知っていますか?

私が知る限り、3.0 を使用すると、すべてのエンティティ Bean は JPA を使用し、定義上 ORM を使用する必要があります。ネイティブ SQL を使用するオプションはいくつかありますが、それは JPA を使用して ORM を実装する方法にすぎません。

EJB2.x BMP エンティティ Bean と同じ機能を実現する別の EJB3 アプローチがあるかどうかはわかりませんでした。現在、標準の ejbStore メソッドを使用してネイティブ SQL を介して DB を更新し、ejbLoad メソッドを使用してすべての Bean を検索し、トランザクションのロールバックが発生した場合に Bean を更新します。EJB3 セッション Bean でこれができるのではないかと思っていましたが、よくわかりませんでした。

おそらく、EJB3 Bean に移行する代わりに、Spring に移行する必要があります。

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 に答える