3

私は3か月間Java spring hibernate MVCを学んでいて、それについてかなりのアイデアを得ました。しかし、私はJCRが何を意味するのか理解していません。

たとえば、Spring MVC の私の単純な webiste では、JCR でどの部分を実行できるかを意味します

4

3 に答える 3

7

JCR は、アプリケーションから JDBC を隠す JPA (Hibernate) の代わりに使用される代替の永続化メカニズムです。理論的には、モデル内にある Java クラスは現在と同じままである可​​能性があります。ただし、JPA の下位レベルのデータ構造をモデル化する必要があるという理由だけでモデル内のクラスが作成された場合、これらのクラスは JCR では必要ない可能性があります。

JPA の既存の使用を JCR に置き換える正当な理由が必要です。たとえば、JPA を使用するには、多くの余計な手間がかかり、実際には必要のないことを実行する必要があることに気付いたかもしれません。

そうは言っても、JCR には確かに JPA にはないいくつかの利点と機能があります。

  1. JCR は、構造化データ、非構造化データ、およびその間のすべてをサポートします。JCR は柔軟なスキーマを可能にし、非常に NoSQL 風にすることができます。JPA は非常に構造化されており、スキーマが固定されています。
  2. JCR は階層的です - 一部のユース ケースは非常に階層的であり、リレーショナル モデルでそれを行うことは非常に困難/費用がかかる場合があります
  3. JCRには組み込みのイベントがあります
  4. ほとんどの JCR 実装では、さまざまなシステムにコンテンツを格納できます。他のシステムの既存のコンテンツにアクセスしてフェデレートすることさえできるものもあります。
  5. 文字列値の長さ制限なし
  6. JCR は全文検索をサポートしています
  7. JCR には、JCR-SQL2 (非常に SQL に似ている) を含む複数のクエリ言語があります。
  8. Java クラスをノード構造にマップするライブラリがいくつかあるため、JPA/Hibernate と非常によく似ています。

すべては、これらの機能がアプリケーションにとって有益かどうかにかかっています。

于 2011-04-11T16:12:29.843 に答える
4

Java Content Repository (JCR) は、実装に依存しない方法でこれらの問題 (および他の多くの問題) に対処しようとします。つまり、基礎となるリソース (データベース、ローカルまたは仮想ファイル システムなど) に関係なく、API は同じです。データ ストレージの上に位置する JCR は、きめ細かいアクセス制御、バージョニング、コンテンツ イベント、全文検索、フィルタリングなどのコンテンツ サービスを提供します。Day Software が率いる JSR-170 の背後には、Vignette、Hummingbird Ltd.、Stellent などのコンテンツ管理システム (CMS) ベンダー、および BEA Systems、IBM、Oracle などの通常の Java 駆動型ソリューション プロバイダーを含む印象的な専門家グループが存在するため、この仕様はおそらくコンテンツ管理とドキュメント ストレージのデファクト スタンダードになることを目指しています。

ここに画像の説明を入力

于 2011-04-11T14:11:33.520 に答える
4

再。JCR とリレーショナル データ モデルをいつ使用するかについての決定は、david のモデルを参照してください。私にとって目を見張るものでした....

于 2011-05-15T13:55:47.220 に答える