Abstract
Many object-relational mapping (ORM) frameworks have been proposed for providing data persistence using relational databases. In general, an ORM framework needs to compromise two contradictory requirements, that is, (1) the support of persistent classes that are directly mapped to relational tables and (2) the support of complicated compositions of the base classes which are required by the complicated application logic. In fact, it is quite difficult to manage these requirements at the same time, however, in real application development, there is a strong demand for these contradictory requirements. More precisely, in the early stage of the development, simple correspondences between each persistent class and the respective table are required and enough, and more complicated correspondences among persistent classes and relational tables are needed as the development proceeds. For this reason, it is desirable for an ORM framework to be flexible enough to support these contradictory requirements at the different development stages. This paper proposes an ORM framework called DBPowder that addresses the difficulty in handling simple and complex correspondences. DBPowder supports (1) by Extended Entity-Relationship (EER) model, and it supports (2) by introducing ObjectView, a graph-based object description form over the EER model. A combination of the EER model and ObjectView provides a flexible data model, and it enables DBPowder to handle both simple and complex correspondences for support the different development stages.