私はすでに Hibernate の経験がありますが、私が正しければ、それを使用して Versant の VOD のようなオブジェクト データベースにアクセスする方法はありません。彼らは JPA サポートのプレビューをリリースしたばかりなので、限られた Hibernate スキルを使用して JPA でオブジェクト データベースを使用できるかどうか疑問に思っていました。経験のある方は、これらのバージョンに互換性があるかどうか教えてください。
一番。
ハリー
私はすでに Hibernate の経験がありますが、私が正しければ、それを使用して Versant の VOD のようなオブジェクト データベースにアクセスする方法はありません。彼らは JPA サポートのプレビューをリリースしたばかりなので、限られた Hibernate スキルを使用して JPA でオブジェクト データベースを使用できるかどうか疑問に思っていました。経験のある方は、これらのバージョンに互換性があるかどうか教えてください。
一番。
ハリー
最初に免責事項を述べさせてください。私は Versant JPA の開発者の 1 人です。
Versant JPA を使用するには、基本的な JPA スキルがあれば十分です。
「Versant JPA」テクニカル プレビューと付属の Eclipse プラグインをインストールすると、すぐに実行できるチュートリアルが提供されます。これと提供されている「Versant JPA 入門」マニュアルを参照して、使いやすさの第一印象をつかんでください。
DataNucleus からのいくつかのステートメントに同意しません: はい、Versant は ODBMS であり、RDBMS ではありません。したがって、マッピングに固有のものはすべて無視します。Java データ モデルは、Versant データベースのデータ モデルと実質的に同じです。ただし、すべてのマッピング関連のものとは別に、JPA はオブジェクト データベースの自然な API でもあります。JPQL の設計と、JPA が RDBMS を念頭に置いて設計されたという事実との間には大きな相関関係があることに同意しません。(実際、Microsoft は LINQ をデータストアに依存しないレベルに抽象化することでこれを証明しています。)
Versant JPA と RDBMS ベースの JPA 実装の大きな違いはすべて、「Getting Started with JPA」ガイドの別の章で説明されています。最大のものは、ランタイムによって自動的に設定されるタイプ「long」または「java.lang.Long」の @Id フィールドを持つという制限です。
JDO 実装もありますが、Versant JPA テクニカル プレビューを試すことをお勧めします (「プレビュー」という用語が示すように、機能はまだ完全ではありません)。
クリスチャン・ロンバーグ
オブジェクト データベースを使用しているのに、なぜ Hibernate が必要なのですか? Hibernate は、オブジェクト リレーショナル マッピングを表す ORM ツールです。リレーショナル データベースを使用していない場合、Hibernate は何のためにあるのでしょうか?
これは、JPA で動作すると主張する ODB です。Versant の VOD に適応したり、それに追従したりできるかもしれません。
別のソフトウェアでは「Hibernate スキル」を使用しません。JPAスキルを使用します。これは標準 API であるため、同じメタデータと同じ永続化コードを持つ同じクラスです。唯一の違いは、persistence.xml で使用するいくつかの異なる永続プロパティを使用できることです。
言うまでもなく、JPA は RDBMS のみを中心に設計されており、さまざまな部分 (特に JPQL) は明らかに ODBMS には適用できないため、そのデータストアに必要な API としては適切ではなく、JDO のようなものはより適している(VODはIIRCもサポートしています)...しかしとにかく