Efficient Implementation of Recursive Queries in Major Object Relational Mapping Systems
The following paper presents the effects of combining two technologies: object-relational mapping and SQL’s recursive queries. Both technologies are widely used in modern software, and yet, modern ORM systems still lack the support for recursive database querying. The currently used methods for querying graph and hierarchical structures are either inefficient, difficult to maintain, or do not allow for any portability. The authors of the following paper propose extensions to the general functionality of modern ORM systems and present the results for two ORM systems: Hibernate for Java and Django-models for Python. With this extension programmers using one of those systems can benefit from the support for the recursive queries offered by various object-relational database management systems and write a maintainable code compliant with the used ORM standard. The proposed solution works with IBM DB2, Oracle and PostgreSQL DBMS and proved to be many times faster than the approaches currently used.
KeywordsDatabase Management System Average Execution Time Relational Database Management System Source Table Object Relational Mapping
Unable to display preview. Download preview PDF.
- 1.Brandon, D.: Recursive database structures. J. Comput. Small Coll. 21(2), 295–304 (2005)Google Scholar
- 2.Przymus, P., Boniewicz, A., Burzańska, M., Stencel, K.: Recursive Query Facilities in Relational Databases: A Survey. In: Zhang, Y., Cuzzocrea, A., Ma, J., Chung, K.-i., Arslan, T., Song, X. (eds.) DTA and BSBT 2010. Communications in Computer and Information Science, vol. 118, pp. 89–99. Springer, Heidelberg (2010)CrossRefGoogle Scholar
- 5.django-models, https://docs.djangoproject.com/en/dev/topics/db/models/
- 6.Burzańska, M., Boniewicz, A., Szumowska, A., Wiśniewski, P.: Hibernate the Recursive Queries - Defining the Recursive Queries Using Hibernate ORM. To appear in Proceedings of ADBIS 2011 (2011)Google Scholar
- 8.Keller, W.: Mapping objects to tables: A pattern language. In: EuroPLoP (2007)Google Scholar
- 9.Hibernate, http://www.hibernate.org
- 10.DeMichiel, L.: Java Specification Requests JSR 317: JavaTM Persistence 2.0 (2009), http://jcp.org/en/jsr/detail?id=317
- 12.Bauer, C., King, G.: Java Persistence with Hibernate. Manning Publications Co., Greenwich (2006)Google Scholar
- 13.O’Neil, E.J.: Object/relational mapping 2008: hibernate and the entity data model (edm). In: Proc. ACM SIGMOD, pp. 1351–1356 (2008)Google Scholar