OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
The science of database management
The science of database management
Object identifiers, keys, and surrogates: object identifiers revisited
Theory and Practice of Object Systems
Extending the database relational model to capture more meaning
ACM Transactions on Database Systems (TODS)
A relational model of data for large shared data banks
Communications of the ACM
Patterns of Enterprise Application Architecture
Patterns of Enterprise Application Architecture
Object/relational mapping 2008: hibernate and the entity data model (edm)
Proceedings of the 2008 ACM SIGMOD international conference on Management of data
A Classification of Object-Relational Impedance Mismatch
DBKDA '09 Proceedings of the 2009 First International Conference on Advances in Databases, Knowledge, and Data Applications
Object-relational mapping with SqueakSave
IWST '09 Proceedings of the International Workshop on Smalltalk Technologies
Teaching a schema translator to produce O/R views
ER'07 Proceedings of the 26th international conference on Conceptual modeling
Managing inheritance hierarchies in object/relational mapping tools
CAiSE'05 Proceedings of the 17th international conference on Advanced Information Systems Engineering
Hi-index | 0.00 |
Object-oriented languages model data as transient objects, while relational databases store data persistently using a relational data model. The process of making objects persistent by storing their state as relational tuples is called object-relational mapping (ORM). This process is nuanced and complex as there are many fundamental differences between the relational model and the object model. In this work we address the difficulties in representing entity identity and uniqueness consistently, efficiently, and succinctly in ORM. We introduce the natural entity framework, which: (1) provides a strong concept of value-based persistent object identity; (2) allows the programmer to simultaneously specify natural and surrogate key constraints consistently in the object and relational representations; (3) provides object constructors and initializers that disambiguate the semantics of persistent object creation and retrieval; and (4) automates the mapping of inheritance hierarchies that respect natural key constraints and allows for efficient polymorphic queries and associations.