Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/343.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java CoreData与Hibernate的区别_Java_Ios_Hibernate_Core Data - Fatal编程技术网

Java CoreData与Hibernate的区别

Java CoreData与Hibernate的区别,java,ios,hibernate,core-data,Java,Ios,Hibernate,Core Data,CoreData在iOS中被解释为“模式驱动的对象图管理和持久性框架”,主要与SQLite一起用作持久性存储。不一定,例如,您可以在内存中使用它,而不必将任何托管对象保存到像SQLite这样的持久性存储中 看看Hibernate,它似乎有很多相似之处,而我在质疑它们之间的关键区别 模式驱动 CoreData使用一个模式,它主要是(在iOS中)一个包含实体的xcdatamodel文件,等等 据我所知,Hibernate没有xcode for xcdatamodels这样的图形编辑器,但由于JPA的

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

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

模式驱动 CoreData使用一个模式,它主要是(在iOS中)一个包含实体的xcdatamodel文件,等等

据我所知,Hibernate没有xcode for xcdatamodels这样的图形编辑器,但由于JPA的原因,您可以将其用于XML文件或直接注释。这两个方案也是IMHO的

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

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

坚持不懈 CoreDate使用底层数据库sqlite作为持久性存储,但也可以在内存中使用

Hibernate使用MySQL db作为持久性存储,但也可以使用coredata(hsqldb mem)等内存中存储


因此,由于我不是hibernate的专家,我想知道-你能称之为两者之间的关键概念差异吗?它们真的很相似吗?

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

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


所有ORM解决方案都有许多共同的特性,因为它们都是ORM。然而,这正是Hibernate和CoreData之间的相似之处所在:它们有不同的api、不同的源代码树、不同的语言、不同的实现目标等等。我要求的是关键概念的差异,而不是任何语言、api或类似的差异!!!一个关键的区别是,例如,如果coredata将使用对象数据库(当然不会)。我想每个孩子都能看到语言的差异……啊,没错,这也是我几分钟前发现的。我会把这个问题提高一点,也许还有一些不同!否则,这将被接受。非常感谢。