什么是Java和Spring中的JCR

3 java spring jcr

我已经学习了java spring hibernate MVC 3个月了,并且对此非常了解.但我还不明白JCR的含义.

我的意思是,例如在我的简单网站中,在MVC中,可以在JCR中完成哪些部分

Ran*_*uch 7

JCR将是替代JPA(Hibernate)的替代持久性机制,它从您的应用程序中隐藏JDBC.理论上,模型中的Java类可能与现在保持一致.但是,如果模型中的任何类只是因为您需要为JPA建模一些较低级别的数据结构,那么JCR可能不需要这些类.

您需要有充分的理由用JCR替换现有的JPA用法.例如,您可能已经发现使用JPA需要跳过许多额外的环节并做一些您不需要做的事情.

话虽如此,JCR当然具有JPA中没有的一些优点和功能:

  1. JCR支持结构化数据,非结构化数据以及介于两者之间的所有内容.JCR允许灵活的模式,可以非常NoSQL-ish.JPA非常结构化,具有固定的架构.
  2. JCR是分层的 - 一些用例非常分层,使用关系模型这样做可能非常困难/昂贵
  3. JCR有内置事件
  4. 大多数JCR实现可以在各种系统中存储内容.有些甚至可以访问和联合其他系统中的现有内容.
  5. 没有字符串值的长度限制
  6. JCR具有全文搜索支持
  7. JCR有多种查询语言,包括JCR-SQL2(非常类似于SQL)
  8. 有一些库将Java类映射到您的节点结构,因此与JPA/Hibernate非常相似

这一切都取决于这些功能是否对您的应用有益.