0

EJB-Hibernateアプリケーションがあり、現在、Spring-Hibernate で構築された別のアプリケーションを統合しようとしています

問題は、どちらも Hibernate を使用しているため、Hibernate 構成を統合する方法がわかりません。

繰り返しになりますが、どちらも Hibernate 構成の記述方法も異なります。つまり、Spring ベースのアプリは Spring Bean と hibernate-cfg.properties ファイルを介して使用します。

EJB アプリケーションがそれを実行しているのに対して、標準的な休止状態の方法 (つまり、xxx-cfg.xml および xxx-hbm.xml)、

だから私は混乱しています、私のアプローチは何ですか?どんな助けでも大歓迎です。


申し訳ありませんが、バージョンについて言及するのを忘れていました -->

EJB アプリケーション内 --> EJB 2.0 および Hibernate 3.1.3 & Spring アプリケーション、Spring 3.x および Hibernate 3.2.6

また、Spring-Hibernate アプリケーションでは、独自のキャッシュ実装があり、現在、両方とも別々のデータソースと別々の Db スキーマを参照しています。

私はそれらを統合して、両方が同じ db-schema (現在のスキーマにテーブルなどを追加するなどのスキーマをマージすることによってこれを行います) と同じデータソース (ここでは、JBoss を使用して xxx- を介したデータソース接続を管理しています) を持つようにします。 ds.xml)

EJB-Hibernate Application では、このデータソースの JNDI 名について言及したので、それを参照しています。しかし、Spring アプリでは別のデータソースを持っていますが、同じ JNDI 名を使用して同じ参照にすることができます。

この統合をどのように行うべきか教えてください。

4

1 に答える 1

0

あなたの情報は少し混乱しているようですが、私はあなたが言及したものから集めようとします.

両方のアプリケーションを統合したいという場合、共通のデータソースを使用する以外に、アプリケーションで EJB 2 を取り除き、代わりに Spring を使用しようとしていますか? これには、EJB2 から Spring への移行が必要になります。これについては、このような記事がたくさんあります。

または、両方のアプリケーションが独立して存在する必要があるが、単一のスキーマを使用する必要がある場合は、両方のスキーマを 1 つにマージできると述べたように、データソースを JNDI に登録します。次に、異なるアプリケーションの両方で同じデータソースを使用できます。EJB2 と Spring は両方とも、JNDI バインドされたデータソースを使用できます。

両方のアプリケーションが独立して存在し、そのうちの1つが休止状態の2次キャッシュを使用している場合(前述のように)、データベースに書き込むことができる2つのアプリケーション間でデータベースが共有されるため、キャッシュが頻繁に無効になるため注意する必要があります。 . 実際、そのような場合は、決して変更されない読み取り専用データのみをキャッシュするのが賢明です。

于 2012-09-17T06:45:58.367 に答える