Hibernate OGM
で問題なく動作する経験mongodb
がある場合は、エンタープライズ ソリューションで心配なく使用できることをお聞きしたいと思います。Hibernate ORM
言い換えれば、この組み合わせは、たとえばと同じくらいうまく機能し、MySQL
セットアップも簡単ですか? それを使用する価値はありますか - データベースでの作業の改善レベルと比較して、セットアップに必要な余裕のレベルを意味しますか? 別の OGM フレームワークを使用したいですか、それとも使用しませんか? 少し前にそれについて読みましたが、このプロジェクトの初期段階にあり、まだうまく機能していませんでした。アドバイスや経験談ありがとうございます。
1 に答える
(免責事項: 私は Hibernate OGM の作成者の 1 人です)
言い換えれば、この組み合わせは、たとえばHibernate ORMとMySQLと同じくらいうまく機能しますか?
4.1 リリースは、本番環境で使用する準備ができていると見なされる最初の最終版です。一般的なユーザー エクスペリエンスは、従来の Hibernate ORM を使用する場合と大差ありません (Hibernate OGM を使用する場合、内部で使用するものは依然として使用されています)。また、MongoDB ダイアレクトはおそらく最も力を入れたものであり、良好な状態です。
しかし、Hibernate OGM はかなり新しいプロジェクトであるため、もちろん解決が必要なバグやグリッチが存在する可能性があります。機能的には、まだサポートされていないもの (セカンダリ テーブル、条件 API、より複雑な JPA クエリなど) がありますが、ほとんどの種類のアプリケーションでそれらを実際に必要としないか、回避策があります (ネイティブ クエリなど)。 .
また、セットアップは簡単ですか?
そのとおり。セットアップは、RDBMS で Hibernate ORM / JPA を使用する場合と変わりません。別の JPA プロバイダー クラス ( HibernateOgmPersistence
) のみを使用し、いくつかの OGM 固有のオプション (使用する NoSQL ストア、ホスト名など) を設定する必要があります。セットアップについて説明しているこのブログ投稿を確認してください。ストア固有の設定 (ドキュメント ストアに関連付けを保存する方法など) には、注釈や流暢な API に基づく使いやすいオプション システムがあります。
データベースでの作業の改善レベルと比較して、設定するのは【努力する価値があるか】?
それに対する一般的な答えはないと思います。多くの場合、Hibernate ORM/OGM のようなオブジェクト マッパーは優れていますが、プレーン SQL または NoSQL API を使用する方がよい場合もあります。ユースケースとその特定の要件によって異なります。一般に、OxM は、永続化したいドメイン モデルが定義されている場合、その関連付けをナビゲートする場合などにうまく機能します。
別の OGM フレームワークを希望しますか
私は明らかに偏っていますが、Hibernate OGM を使用すると、
Hibernate Validator や Hibernate Search (または社内で開発された Hibernate ベースの API) などの他のライブラリとの統合や、JPA エンティティを発行するモデリング ツールなどのツールとの統合など、JPA/Hibernate の周りに存在するエコシステムの恩恵を受けます。
同じ API を使用してさまざまな NoSQL バックエンドを操作できます。そのため、別の NoSQL ストア (グラフクエリを実行するための Neo4j など) または RDMBS を統合する必要がある場合、Hibernate OGM を使用すると簡単に統合できます。
少し前に読みましたが、このプロジェクトの初期段階でした。
昨年、Hibernate OGM には多くの作業が行われたため、私の推奨事項は、それを試してプロトタイプで確認するか、要件に対してどのように機能するかを確認することです。
機能のリクエストや質問がある場合は、お知らせください。できることを確認いたします。