什么时候应该使用JCR?何时应该使用JPA / RDBMS?

时间:2009-08-04 08:35:39

标签: persistence rdbms jcr

Java JCR API定义了一种持久性机制,可用于替换RDBMS的许多传统角色。例如,JackRabbit - JCR参考实现 - 支持事务,SQL查询,对象内容映射等。

您可以选择一个或另一个,将二进制数据存储在RDBMS中的BLOB /文件系统指针或JCR节点属性中的文本数据中。有没有人有经验取代抛弃他们的数据库而转而使用JCR?

你可以使用两者,也许可以在CR中存储二进制数据,在RDBMS中存储文本数据,但是你必须表达系统之间的关系,让它们保持同步等等。你也开始面对一个难题,“好吧将文档标题与文档的二进制数据一起存储是正确的,所以我将它作为一个节点属性...但是我在我的数据库中有这个文档记录所以也许我应该把它保存在那里......“

你是如何决定的?

1 个答案:

答案 0 :(得分:13)

Bertil Chapuis有一篇关于这个话题的论文:

JCR or RDBMS?blog post

还有NoSQL运动(例如in this article描述,或here),这是一个持续的讨论,嗯,让我们说,“突出”关系模型的缺点。