6

EJB 2.x エンティティ Bean (BMP) を使用する大規模なアプリケーションがあります。これは恐ろしい持続戦略であることがよく知られています (必要に応じて詳しく説明します)。

このアプリケーションの移行を開始して、より表現力が高く、透過的で、非侵襲的な永続化戦略を使用したいと考えています。私の会社でのこれまでの経験を考えると、Hibernate 3.x は当然の選択です。

アプリケーション内の 100 以上のテーブルがエンティティ Bean を使用しているため、Hibernate への移行にはしばらく時間がかかります。そのため、可能であれば、理想的には同じテーブルで同時に、2 つの永続化戦略を並行して実行する段階的なアプローチを検討しています。

私の質問は、これら 2 つの永続化戦略を組み合わせることの落とし穴 (もしあれば) は何ですか? 彼らはお互いの邪魔になりますか?

4

2 に答える 2

2

本当に注意すべきことは、Hibernate セッションの操作だと思います。Hibernate は何かをキャッシュしますが、それが邪魔になるかもしれません。

率直に言って、Hibernate を採用する場合は、エンティティ Bean を完全に削除することをお勧めします。セッション Bean 内で Hibernate の作業を行い、セッション Bean にトランザクションを管理させます。

または、代わりに Java Persistence API に標準化された Hibernate である EJB 3 を使用します。

于 2008-09-16T01:48:09.950 に答える
2

jodonnel が言ったように、キャッシングに注意を払う必要があります。Hibernate で第 2 レベルのキャッシングを使用し、Hibernate の外部でテーブルが変更された場合、Hibernate はそのキャッシュ エントリが古いことを知る方法がないためです。

トランザクションの場合、どちらもコンテナーによって提供される JTA を使用する必要があるため、安全である必要があります。

于 2008-10-12T23:43:55.067 に答える