Object-relational (O/R) mapping

For simple applications, it is sufficient to use straight JDBC calls to persist objects in a persistent storage. However, when the object graph of the buisiness layer becomes more complex, using straight JDBC calls becomes very difficult to maintain. This is due to a mismatch between the object graph and your relational schema.

In this course, the problems that come with the mismatch will be explained. In order to create a mapping between these two worlds, one could decide to build it's own framework. However, there are already several frameworks available on the market such as EJB's and JDO. Therefore, an overview of existing object-relational mapping frameworks is given, together with an overview of the important aspects of such frameworks.


No public sessions are currently scheduled. We will be pleased to set up an on-site course or to schedule an extra public session (in case of a sufficient number of candidates). Interested? Please let us know.

Intended for

Architects, database administrators and developers.


The participants must have knowledge of OO (see course OO concepts and techniques) and relational systems (see course SQL and relational databases fundamentals). Knowledge of JDBC is an advantage (see course JDBC).

Main topics

  • Object-relational mapping problems:
  • Database-driven versus object-driven
  • Relations • inheritance • single row versus set processing
  • Caching • transparent persistency • performance
  • Techniques and frameworks for persistency:
  • Enterprise Java Beans (EJB)
    Overview of EJB • container managed vs. bean managed persistence
  • Java Data Objects (JDO)
  • Other common Java O/R mapping frameworks
  • Patterns for database processing:
  • Overview • examples of read patterns • examples of persistency patterns

Training method

The theoretical foundation is illustrated with practical examples.


a half day.

Course leader

an ABIS instructor.