Hibernate and spring - An analysis of maintainability against performance
Keywords:ORM, performance, spring framework, hibernat, maintainability
Web application frameworks and ORM tools reduce time and effort needed when developing quality applications; but, since they are numerous and heterogeneous choosing the best suited is not an easy task. The comparative studies of these tools do not consider case studies of the necessary complexity to precisely measure their advantages and disadvantages. In order to contribute to the solution of this problem, we measured the HIBERNATE ORM response times for different queries in a rather complex case study with different database sizes, and compared the results with the ones obtained by using manually coded queries. Our comparison is relevant because even though ORMs are an important maintainability factor, not optimal queries can lead to bottle necks.
G. Booch, “Object-oriented development”, IEEE Trans. Softw. Eng., vol. SE-12, no. 2, pp. 211–221, 1986.
V. Srinivasan and D. Chang, “Object persistence in object-oriented applications”, IBM Syst. J., vol. 36, no. 1, pp. 66-87, 1997.
I. Vuksanovic and B. Sudarevic, “Use of Web Application Frameworks in the Development of Small Applications”, in 34th Int. Conv. MIPRO, Opatija, Croatia, 2011, pp. 458–462.
G. Low and S. Huan, “Impact of object oriented development on software quality”, in 9th International Workshop Software Technology and Engineering Practice (STEP), Pittsburgh, USA, 1999, pp. 3–11.
N. Wilde and R. Huitt, “Maintenance support for object- oriented programs”, IEEE Trans. Softw. Eng., vol. 18, no. 12, pp. 1038–1044, 1992.
J. Kienzle and A. Romanovsky, “Framework based on design patterns for providing persistence in object- oriented programming languages”, IEE Proc. - Softw., vol. 149, no. 3, pp. 77-85, 2002.
C. Ireland, D. Bowers, M. Newton and K. Waugh, “A Classification of Object-Relational Impedance Mismatch”, in 1st International Confernce on Advances in Databases, Knowledge, and Data Applications (DBKDA), Gosier, France, 2009, pp. 36–43.
C. Murdaca, “An Object-Relational Compiler”, in 2009 WRI World Congress on Computer Science and Information Engineering, Los Angeles, USA, 2009, pp. 438–442.
H. Abelson, G. Sussman and J. Sussman, Structure and Interpretation of Computer Programs, 2nd ed. Cambridge, USA: The MIT Press, 1996.
M. Cuervo, D. Peñalosa and A. Alarcón, “Evaluación y análisis de rendimiento de los frameworks de persistencia Hibernate y Eclipselink”, Ventana Informática, no. 24, pp. 9-23, 2011.
Z. Zhou and Z. Chen, “Performance Evaluation of Transparent Persistence Layer in Java Applications”, in International Conference on Cyber-Enabled Distributed Computing and Knowledge Discovery (CyberC), Huangshan, China, 2010, pp. 21–26.
P. van Zyl, D. Kourie and A. Boake, “Comparing the performance of object databases and ORM tools”, in Annual research conference of the South African institute of computer scientists and information technologists on IT research in developing couuntries (SAICSIT), New York, USA, 2006, pp. 1–11.
K. Roopak, K. Swati, S. Ritesh and S. Chickerur, “Performance Comparison of Relational Database with Object Database (DB4o)”, in 5th International Conference on Computational Intelligence and Communication Networks (CICN), Mathura, India, 2013, pp. 512–515.
Hibernate, Hibernate. Everything data. [Online]. Available: http://hibernate.org/. Accessed on: Mar. 10, 2016.
Hotframeworks, Web framework rankings | HotFrameworks. [Online]. Available: http://hotframeworks.com/. Accessed on: May. 26, 2015.
T. Shan, W. Bank and W. Hua, “Taxonomy of Java Web Application Frameworks”, IEEE International Conference on e-Business Engineering (ICEBE), Shanghai, China, 2006, pp. 378-385.
V. Nagy, “Performance Analysis of Relational Databases, Object-Oriented Databases and ORM Frameworks”, Bachelor Degree Project, University of Skövde, Skövde, Sweden, 2014.
J. Arthur and S. Azadegan, “Spring Framework for Rapid Open Source J2EE Web Application Development: A Case Study”, in 6th Int. Conf. on Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing and 1st ACIS International Workshop on Self- Assembling Wireless Network (SNPD/SAWN), Towson, USA, 2005, pp. 90–95.
P. Węgrzynowicz, “Performance antipatterns of one to many association in hibernate”, in Federated Conference on Computer Science and Information Systems (FedCSIS), Kraków, Poland, 2013, pp. 1475– 1481.
Object Management Group (OMG), Unified Modeling Language TM (UML®). [Online]. Available: http://www.omg.org/spec/UML/. Accessed on: Apr. 20, 2016.
G. Krasner and S. Pope, “A description of the model- view-controller user interface paradigm in the smalltalk-80 system”, J. Object Oriented Program., vol. 1, no. 3, pp. 26–49, 1988.
G. King, “Chapter 7. Collection mapping”, in HIBERNATE - Relational Persistence for Idiomatic Java, 2004. [Online]. Available: https://docs.jboss.org/hibernate/orm/3.6/reference/en-US/html/collections.html. Accessed on: Dec. 18. 2015.
Oracle Corporation, Core J2EE Patterns - Data Access Object, 2002. [Online]. Available: http://www.oracle.com/technetwork/java/dataaccessobject-138824. html. Accessed on: Apr. 25, 2015.
Oracle Corporation, Java SE Desktop Technologies. [Online]. Available: http://www.oracle.com/technetwork/java/javase/tech/index-jsp-138795.html. Accessed on: May 25, 2015.
How to Cite
Revista Facultad de Ingeniería, Universidad de Antioquia is licensed under the Creative Commons Attribution BY-NC-SA 4.0 license. The material published in the journal can be distributed, copied and exhibited by third parties if the respective credits are given to the journal. No commercial benefit can be obtained and derivative works must be under the same license terms as the original work.