что такое JCR в Java и весной - PullRequest
2 голосов
/ 11 апреля 2011

Я изучал java spring hibernate MVC в течение 3 месяцев и получил довольно представление об этом.Но я не понял, что означает JCR.

Я имею в виду, например, в моем простом веб-сайте весной MVC, какую часть можно выполнить в JCR

Ответы [ 3 ]

7 голосов
/ 11 апреля 2011

JCR будет альтернативным механизмом сохранения, используемым вместо JPA (Hibernate), который скрывает JDBC от вашего приложения. Теоретически, классы 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

Все зависит от того, полезны ли эти функции для вашего приложения.

4 голосов
/ 15 мая 2011

Re. Решение о том, когда использовать JCR и реляционную модель данных, рассмотрим модель Дэвида . Был откровением для меня ....

4 голосов
/ 11 апреля 2011

Java Content Repository (JCR), пытается решить эти проблемы (и многие другие) независимым от реализации способом;то есть API будет одинаковым независимо от базового ресурса (например, базы данных, локальной или виртуальной файловой системы).Находясь на вершине хранилища данных, JCR предлагает контентные услуги, такие как гранулярный контроль доступа, управление версиями, контентные события, полнотекстовый поиск и фильтрация среди других.Благодаря впечатляющей группе экспертов в области JSR-170, возглавляемой Day Software, в которую входят поставщики систем управления контентом (CMS), такие как Vignette, Hummingbird Ltd., Stellent и обычные поставщики решений на основе Java, такие как BEA Systems, IBM и Oracle, спецификация, скорее всего, вполне вероятна.стать стандартом де-факто для управления контентом и хранения документов.

enter image description here

...