Efficient Implementation of Recursive Queries in Major Object Relational Mapping Systems

  • Aneta Szumowska
  • Marta Burzańska
  • Piotr Wiśniewski
  • Krzysztof Stencel
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7105)


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.


Database Management System Average Execution Time Relational Database Management System Source Table Object Relational Mapping 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Brandon, D.: Recursive database structures. J. Comput. Small Coll. 21(2), 295–304 (2005)Google Scholar
  2. 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
  3. 3.
    Ghazal, A., Crolotte, A., Seid, D.Y.: Recursive SQL Query Optimization with k-Iteration Lookahead. In: Bressan, S., Küng, J., Wagner, R. (eds.) DEXA 2006. LNCS, vol. 4080, pp. 348–357. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  4. 4.
    Burzańska, M., Stencel, K., Wiśniewski, P.: Pushing Predicates into Recursive SQL Common Table Expressions. In: Grundspenkis, J., Morzy, T., Vossen, G. (eds.) ADBIS 2009. LNCS, vol. 5739, pp. 194–205. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  5. 5.
  6. 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
  7. 7.
    Melnik, S., Adya, A., Bernstein, P.A.: Compiling mappings to bridge applications and databases. ACM Transactions on Database Systems (TODS) 33(4), 1–50 (2008)CrossRefGoogle Scholar
  8. 8.
    Keller, W.: Mapping objects to tables: A pattern language. In: EuroPLoP (2007)Google Scholar
  9. 9.
  10. 10.
    DeMichiel, L.: Java Specification Requests JSR 317: JavaTM Persistence 2.0 (2009),
  11. 11.
    Burzańska, M., Stencel, K., Suchomska, P., Szumowska, A., Wiśniewski, P.: Recursive Queries Using Object Relational Mapping. In: Kim, T.-h., Lee, Y.-h., Kang, B.-H., Ślęzak, D. (eds.) FGIT 2010. LNCS, vol. 6485, pp. 42–50. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  12. 12.
    Bauer, C., King, G.: Java Persistence with Hibernate. Manning Publications Co., Greenwich (2006)Google Scholar
  13. 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

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Aneta Szumowska
    • 1
  • Marta Burzańska
    • 1
  • Piotr Wiśniewski
    • 1
  • Krzysztof Stencel
    • 1
  1. 1.Faculty of Mathematics and Computer ScienceNicolaus Copernicus UniversityToruńPoland

Personalised recommendations