Comparing the Performance of the Object-Relational Mapping Program-ming Frameworks Available in Java
Mateusz Połeć
mateusz.polec1@pollub.edu.plPolitechnika Lubelska (Poland)
Jakub Pitera
(Poland)
Grzegorz Kozieł
Lublin University of Technology (Poland)
Abstract
The paper concerns a performance evaluation of selected object-relational mapping tools. This work is intended to assist software architects in determining which of the analyzed libraries will be the optimal choice for use in a specific project. The work includes the comparison of Hibernate ORM, EclipseLink, Apache OpenJPA and DataNucleus libraries from the theoretical and practical point of view. Each of the examined tools has been described according to criteria allowing to distinguish the most important features influencing communication with relational databases. These features will then be compared on a practical level by examining the behavior of the test applications. In terms of performance, the Apache OpenJPA library turned out to be the best, but in terms of configuration and availability it significantly differs from other libraries. This was caused by an unintuitive configuration and poor documentation of the technology. In this respect, the Hibernate library definitely dominated, the configuration of which with the Spring programming framework was simple and intuitive, and the documentation was rich and supported by an extensive community of programmers using it.
Keywords:
Java ORM, Java Persistence API, Performance EvaluationReferences
J. M. Barnes, Object-relational mapping as a persistence mechanism for object-oriented applications, Macalester College, 2007.
Google Scholar
S. N. Bhatti, Z. H. Abro, F. Rufabro, Performance evaluation of java based object relational mapping tool, Mehran University Research Journal of Engineering and Technology, 32(2) (2013) 159-166.
Google Scholar
P. Błoch, M. Wojciechowski, Analiza porównawcza technologii odwzorowania obiektowo-relacyjnego dla aplikacji Java. XIII Konferencja PLOUG: Systemy informatyczne. Projektowanie, implementowanie, eksploatowanie, Zakopane, 2007.
Google Scholar
B. B. Correa, Y. Wang, E. Zimanyi, Object-relational mapping tools and Hibernate, Universite libre de Bruxelles, 2017.
Google Scholar
N. Dhingra, Analysis of ORM based JPA Implementations, University of Ottawa, 2017.
Google Scholar
C. Bauer, K. Gavin, G. Gary, Java Persistence. Programowanie aplikacji bazodanowych w Hibernate. Wydanie II, Helion, 2016.
Google Scholar
Dokumentacja techniczna biblioteki ORM Eclipselink https://www.eclipse.org/eclipselink/documentation, [22.10.2021].
Google Scholar
Dokumentacja techniczna biblioteki ORM Apache OpenJPA, http://openjpa.apache.org/documentation.html, [22.10.2021].
Google Scholar
Dokumentacja techniczna biblioteki ORM DataNucleus, https://www.datanucleus.org/products/accessplatform_6_0/, [22.10.2021]
Google Scholar
K. Appigatla, MySQL 8 Cookbook, Packt Publishing, 2018.
Google Scholar
J. Bloch, Java. Efektywne programowanie. Wydanie III, Helion, 2018.
Google Scholar
S. Raemaekers, A. Van Deursen, J. Visser, The maven repository dataset of metrics, changes, and dependencies, 10th Working Conference on Mining Software Repositories (2013) 221-224.
DOI: https://doi.org/10.1109/MSR.2013.6624031
Google Scholar
Authors
Jakub PiteraPoland
Authors
Grzegorz KoziełLublin University of Technology Poland
Statistics
Abstract views: 470PDF downloads: 386
License
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.