org.apache.cayenne.ObjectContext is an interface that defines API for the application interaction with Cayenne. Two most notable implementors are DataContext, used in most Cayenne applications, and CayenneContext used on the remote client.

ObjectContext accesses the underlying persistence stack via a parent DataChannel. ObjectContexts that support multiple levels of nesting (such as DataContext) themselves implement a org.apache.cayenne.DataChannel interface.