有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java和spring中的JCR是什么

我学习java spring hibernate MVC已经三个月了,对此我有了相当的了解。但我不明白JCR是什么意思

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


共 (3) 个答案

  1. # 1 楼答案

    JCR将是替代JPA(Hibernate)的另一种持久性机制,JPA会对应用程序隐藏JDBC。从理论上讲,模型中的Java类可能与现在的相同。然而,如果模型中的任何类只是因为需要为JPA建模一些较低级别的数据结构而出现,那么JCR可能不需要这些类

    你需要一个很好的理由用JCR替换现有的JPA用法。例如,你可能已经发现,使用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非常相似

    这完全取决于这些功能是否对您的应用程序有益

  2. # 2 楼答案

    Java内容存储库(JCR)试图以独立于实现的方式解决这些问题(以及许多其他问题);也就是说,无论底层资源(例如数据库、本地或虚拟文件系统)如何,API都是相同的。JCR位于数据存储之上,提供内容服务,如粒度访问控制、版本控制、内容事件、全文搜索和过滤等。由Day Software领导的JSR-170背后有一个令人印象深刻的专家组,包括Vignette、Hummingbird Ltd、Stellent等内容管理系统(CMS)供应商,以及常见的Java驱动解决方案提供商,如BEA Systems、IBM和Oracle,该规范很可能成为内容管理和文档存储的事实标准

    enter image description here

  3. # 3 楼答案

    是的。关于何时使用JCR与关系数据模型的描述,请看一下david's model。让我大开眼界