2

非常に単純に聞こえる要件があります。永続性のために、いくつかのRDBMS(JPAを使用して実行する予定です)とMongoDB(spring-data-mongodbが推奨されます)をサポートします。より正確には、どちらか一方を構成して使用する必要があります。クロスストアについては話していません。

手順は次のとおりです。アプリケーションをコーディングし、.warを顧客に配信し、構成ファイルに顧客がdatabaseurlなどの永続性情報(つまり、mongodb:localhost / testまたはjdbc:oracle:thin:1521 @ foo)を入力します。 )。さらに、couchdbなどのデータストアの実装を拡張すると便利です。

ベストプラクティス、または少なくともそれほど汚れていないオーバーヘッドソリューションのいずれかがありますか?

4

3 に答える 3

1

Eclipselinkはオプションですか?最新は、RDBMSとNOSQL(Mongoを含む)の両方でJPAをサポートしています

https://blogs.oracle.com/theaquarium/entry/jpa_and_nosql_using_eclipselink

于 2012-08-15T04:45:08.373 に答える
0

DataNucleus JPAを使用すると、接続URLを簡単に変更するだけで、RDBMS、MongoDB、およびその他のデータストア(LDAP、HBase、AppEngine、Neo4jなど)のホストに永続化できます。

于 2012-08-15T05:26:29.617 に答える
0

私は現在、同様のニーズを持つプロジェクトを開発しています。私の経験に応じてアドバイスすることができます。

ここでの主な関心事はテクノロジーではなく、データをどのように構造化するかということだと思います。そのためには、AbstractFactoryおよびFactoryMethodデザインパターンを使用することをお勧めします。Regaringテクノロジー私はMongoDB用のMorphiaとMySQL用のJPA(例として)を使用していますが、それは魅力のように機能しています。

したがって、最も簡単な方法は、永続化するすべてのオブジェクトのインターフェースを作成してから、Morphiaタグを使用してMongoDBの実装を実行し、JPAタグを使用して別の実装を実行することです。MongoDBオブジェクトのすべてのCRUD操作を処理するMongoDB用のファクトリを1つ作成し、JPAファクトリでも同じことを行います。

アプリケーションの起動時に、ユーザーが永続性を選択したことを確認してから、対応するファクトリを初期化するだけです。

于 2012-10-03T16:00:01.180 に答える