CoreData和Hibernate之间的区别

时间:2012-11-29 10:41:58

标签: java ios hibernate core-data

CoreData在iOS中被解释为“模式驱动的对象图管理和持久性框架”,主要用于SQLite作为持久性存储。不一定,你可以在内存中使用它,而不必将任何托管对象保存到像SQLite这样的持久性存储中。

看一看Hibernate,它似乎有许多相似之处,而我正在质疑它们之间的关键区别。

架构驱动

CoreData使用的模式主要是(在iOS中)包含实体的xcdatamodel文件,等等。

Hibernate没有像xcode for xcdatamodels这样的图形编辑器,因为我知道,但是你可以将它用于XML文件或由于JPA直接注释。两者都是计划以及恕我直言。

对象图管理

CoreData管理我的对象,包括更改跟踪以及检查方案中定义的约束。此外,它支持通过对象错误减少内存使用的机制等等。

我认为Hibernate也是如此。它跟踪xml中定义的约束或通过注释,并支持减少内存使用的机制,如coredata(延迟加载等)

持久性

CoreDate使用底层数据库sqlite作为持久性存储,但也可以像在内存中一样使用。

Hibernate使用例如MySQL数据库作为持久性存储,但可以使用内存存储,如coredata(hsqldb-mem)

因此,由于我不是一个休眠的专业人士,我想知道 - 你能否称出两者之间的关键概念差异是否真的很像彼此?

1 个答案:

答案 0 :(得分:1)

不确定确切的关键差异,但我的理解之一是

  

核心数据专门用于单个客户端使用   自动化模型层,其中Hibernate用于多个客户端   用法(企业的种类),并提供更多的抽象和   功能然后核心数据。