Document Type

Honors Project

Abstract

Many object-oriented applications created today, especially Web applications, use relational databases for persistence. Often there is a straightforward correspondence between database tables on the one hand and application classes on the other. Application developers usually write a great deal of code to connect to and query the database, code which differs little from class to class and is often tedious to write. Moreover, the parallel class and table structures constitute a duplication of information, which requires duplication of work and increases the likelihood of errors. Ideally, we could automate this duplication, rendering it invisible to developers. This is the idea behind object-relational mapping (ORM), which achieves the mapping between the object-oriented world and the relational world automatically. Many existing ORM tools do not realize the goal of fully transparent persistence, however, and ORM tools have not become pervasive in the software industry. We survey ORM technology, probing issues of ORM system architecture and examining real-world ORM systems. We consider the state of the art in ORM, asking why it is not more popular than it is and anticipating the future course of ORM system development.

 
 

© Copyright is owned by author of this document