1

個別のフィールドに解析した一連の XML ファイルがあります。解析したフィールドを表示する Spring MVC アプリケーションを作成しました。いいえ、これらのフィールドを MongoDB に送信し、Spring MVC でデータベースにクエリを実行できる ORM が必要です。アプリケーション側。私は ORM を調べましたが、SpringMVC アプリケーションを MongoDB と統合するためにどの ORM を使用するかについて意見をお聞かせください。それが Morphia か Java Mongo Driver か、または Hibernate が MongoDB と連携できるかどうかです。

ありがとう

4

2 に答える 2

1

私は実稼働環境で Morphia を使用しましたが、maven ベースのビルドを使用している場合は、Morphia を含めるのはかなり簡単です。このスニペットをビルドに追加するだけです:

http://code.google.com/p/morphia/wiki/Dependencies#Through_Maven

ただし、それを使用した後、もう一度実行できる場合は、Spring Data (Mongo をサポートする) を使用するか、適切な基本的な DAO パターンを使用してネイティブの Mongo ドライバーを直接操作します。

その理由は次のとおりです。1) Morphia は以前ほど積極的に開発されていません。2) O/R マッパーは最初のうちは優れていますが、欲しいと思っていた多くの新機能に出くわすことになります。たとえば、データ モデルが変更されると、古い行を新しいフィールドで読み取るたびに古い行をアップグレードすることがよくあります。これは、ネイティブ ドライバーを使用すると非常に簡単ですが、抽象化するとそれほど多くはありません。3) Morphia には、メインの親と共に ref コレクションをプルするという既知の問題 (おそらく設計上の決定) もあります。たとえば、メールボックスを所有するユーザー オブジェクトの場合、すべてのメッセージがプルされ、多くのパフォーマンスの問題が発生します。遅延読み込みパターンでこれを回避できますが、長期的にはさらに多くの問題が発生します。

私の推奨事項: 1) O/R マッパーを使用する必要があり、既に春を使用している場合は、より大きな開発者コミュニティ (および大企業) がいる春のデータを使用しないでください。2) 大規模なプロジェクトを構築する場合は、ネイティブ ドライバーを使用してください。

小規模なプロジェクトの場合、Morphia は依然として適切な選択であり、開発者の生産性が大幅に向上します。デメリットだけ覚えておきましょう。

それが役立つことを願っています。

于 2012-08-01T21:30:22.150 に答える
0

すでに Spring を使用している場合は、Spring Data - MongoDb を選択することをお勧めします。

于 2012-08-07T10:35:59.070 に答える