MongoDBとHibernateを統合する方法を示すリソースを探しています(できれば春から)。RDBMSとNoSqlの代替を切り替えることができます。これを行った経験はありますか?
これを簡単に行うことはできません。 Hibernateのポイントは、Javaオブジェクトをリレーショナルデータベースにマッピングすることです。Hibernateは多くの詳細を抽象化しますが、リレーショナルデータベースが外部キーや主キーなどと連携する方法を理解する必要があります。実行するクエリのパフォーマンスへの影響MongoDBでは、列やテーブルではなくオブジェクトに焦点を当てたデータベースを設計するまったく異なる方法が必要です。また、NoSqlデータベースは、両方でうまく機能しない設計を提供します。
Hibernate OGM についてはどうですか? No-SQLデータベースにJPAを提供します。
Spring MongoTemplateを使用すると、移行が容易になります(HibernateTemplateに類似)。
その機能の中で、JPAアノテーションのサポートがあります(ただし、どの程度かはわかりません)。
詳細: http://www.springsource.org/spring-data/mongodb
次のものが必要です。
mongoTemplate.findById(id, MyClass.class);
mongoTemplate.insert(myObject);
コードを使用した具体的な例を次に示します。 se-spring-and-hibernate-with-mongodb
以前に行われた素晴らしい作業があります:
これらのリンクを参照してください。あなたの役に立つでしょう。
Javaを使用している場合、Hibernate OGMを使用できます。Java NoSQLデータベースの永続性サポート。
詳細については、 http://hibernate.org/ogm/ をご覧ください。
http://drorbr.blogspot.com/2010/02/migrating-springhibernate-application.html ここで、Dror Bereznitskyは、sping/hibernateベースのソリューションをmongodbと統合する方法をうまく説明しています。
例を挙げましょう、私は似たようなことをしています。 ColdFusionでは、Hibernateが統合されています。Hibernateオブジェクトを保存するには、EntitySave(Obj)を実行する必要があります。ただし、Ormオブジェクトをビルドしてから、mongoDB Coldfusionコンポーネントを使用し、mongo.Save(obj、collectionName)を実行してオブジェクトを保存するだけです。
Hibernateは必要な機能を提供すると思います。公式ウェブサイトにあるこれを見てください:1つのアプリケーションに複数のNoSQLデータストアを混在させる友情グラフにNeo4jを使用し、ブログ投稿にMongoDBを使用します。または、NoSQLとリレーショナルデータベースを組み合わせます。