GNUstep Database Library v2 (GDL2) is a powerful Objective-C Object Relational Mapping framework. A free LGPL implementation of the Enterprise Object Framework v2 API.

EOF 2.0 was released in late 1995 by NeXT Software, Inc. as an evolution of EOF 1.1 and the former DBKit. Current Apple implementation is a java framework incorporated in the WebObjects suite. GDL2 is aimed at compatibility with Objective C version of EOF.

GDL2 is composed of a graphical modeler and three layers: EOAccess, EOControl and EOInterface.

The role of EOAccess is to transfer data from RDBMS to Enterprise Objects and vice versa through custom adapters and to maintain a simple in-memory graph of fetched raw data. The layer generates SQL statements on the fly and uses a model to map database tables to Enterprise Objects.

EOControl is used to maintain an in-memory graph of Enterprise Objects and delegate modifications to databases using EOAccess. It has an undo stack, it supports multiple object store configurations and the ability to spawn Enterprise Objects from multiple sources.

EOInterface is used to map and track changes from enterprise objects to user interface elements.

DBModeler is a graphical application aimed at creation and maintenance of eomodels.


GDL2 is part of the GNUstep project since november 2002.

For more informations check the GNUstep documentation and the GNUstep wiki.

My special thanks go to all the authors who have contributed to the project.