Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is there a Java equivalent to Apple's Core Data?

I have recently heard a lot of praise for Apple's Core Data architecture.

Is there something similar in Java land, so that I can play around with Core Data's ideas (in order to evaluate how it stacks up against something like Hibernate) without having to get into Cocoa/Objective-C first?

like image 208
Thilo Avatar asked Jan 23 '09 09:01

Thilo


People also ask

What is Core Data in Java?

Core Data is a framework that you use to manage the model layer objects in your application. It provides generalized and automated solutions to common tasks associated with object life cycle and object graph management, including persistence.

What is iOS Core Data?

Core Data is an object graph and persistence framework provided by Apple in the macOS and iOS operating systems. It was introduced in Mac OS X 10.4 Tiger and iOS with iPhone SDK 3.0. It allows data organized by the relational entity–attribute model to be serialized into XML, binary, or SQLite stores.

What is Core Data in Android?

Core Data is a framework for managing an object graph. An object graph is nothing more than a collection of interconnected objects. The framework excels at managing complex object graphs. Core Data manages an object graph. The framework is responsible for managing the life cycle of the objects in the object graph.

What is an object graph in Core Data?

An object graph is nothing more than a collection of objects that are connected with one another. The Core Data framework excels at managing complex object graphs. The Core Data framework takes care of managing the life cycle of the objects in the object graph.


1 Answers

Keep in mind that Core Data is not primarily an object persistence framework, as I understand Hibernate et al. to be. Rather, it is an object graph management framework (it maintains relationships and changed state for objects subject to the model constraints), though it is not a dependency injection framework (like Groovy or Springs). It just so happens that it can persist this object graph to disk using one of several back-end formats (including SQLite). Core Data is also not meant for multi-user systems, as was the original Enterprise Object Framework. It is meant specifically for single-user desktop applications and automates much of the work of writing a Model layer for that type of app. For anything else, it's probably not a good fit.

What are you considering Core Data for? Perhaps we can provide a more specific answer if you give us a more specific use case.

like image 174
Barry Wark Avatar answered Oct 12 '22 09:10

Barry Wark