Comparative analysis of data access technologies in Java applications

Vitaliya Dashuk, Dmitry Namiot

Abstract


This article discusses modern approaches to working with databases in Java projects. The advantages and disadvantages of working with low-level JDBC technology are considered. This article provides an overview of the JPA specification, a standard for mapping POJO objects to relational databases. The paper gives an overview of the most popular JPA implementations: Hibernate, EclipseLink, and OpenJPA. The capabilities of the MyBatis ORM system, which does not implement JPA, but presents an alternative, are also noted. In the course of the work, a test suite has been proposed that compares the performance of JPA implementations. A comparison of MyBatis and one of the Hibernate-based JPA implementations are given. The results and conclusions of the tests are presented, giving an understanding of which solutions are best suited for different types of situations.


Full Text:

PDF (Russian)

References


Neha Dhingra Review on JPA Based ORM Data Persistence Framework, International Journal of Computer Theory and Engineering, Vol. 9, October 2017

Benchmark Results Comparison JPA Performance Benchmark (JPAB), "JPA Performance Benchmark", Copyright 2012 ObjectDB Software Ltd. Available: http://www.jpab.org/

J. Keogh, C.J. Date, H. Darwen. (2002). J2EE: The Complete Reference: A Guide to the SQL Standard,New York, NY: Tata McGraw-Hill Education.

Kumari, Sonia; Yadav, Manvendra; Kumari, Seema Rani. Database Connection Technology // International Journal of Advanced Research in Computer Science; Udaipur Том 8, Изд. 5, (May 2017).

B.Vasavi, Y.V.Sreevani, G.Sindhu Priya(2011) “Hibernate technology for an efficient business application extension”, Journal of Global Research in Computer Science, 2(6), 118-125

Lascano, J. "JPA implementations versus pure JDBC." URL: http://www. espe. edu. ec/portal/files/sitiocongreso/congreso/c_computacion/PaperJPAversusJDBC_edisonl ascano. pdf. 2008.

Apache OpenJPA User Guide 2.3 . [Online]. Available: http://openjpa.apache.org/builds/latest/docs/docbook/manual/main. html. 2011.

M. Goeminne and T. Mens, “Towards a survival analysis of database framework usage in Java projects,” in Int’l Conf. Software Maintenance and Evolution, 2015.

Mane, Dashrath, Ojha, Namrata, and Chitnis, Ketaki. The spring framework: An open source java platform for developing robust java applications. International Journal of Innovative Technology and Exploring Engineering.

Neha Dhingra, Dr. Emad Abdelmoghith, Dr. Hussein T. Mouftah. PERFORMANCE EVALUATION OF JPA BASED ORM TECHNIQUES // Proceedings of 2nd International Conference on Computer Science Networks and Information Technology, Heldon 27th - 28th Aug 2016, in Montreal, Canada, ISBN: 9788193137369

Alexandre Decan, Mathieu Goeminne,and Tom Mens On the Interaction of Relational Database Access Technologies in Open Source Java Projects // Postproceeding of the SATTOSE 2015 Research Seminar on Advanced Tools and Techniques for Software Evolution. To be published in CEUR.WS workshop proceedings (2017)

Loup Meurice, Csaba Nagy, Anthony Cleve Detecting and Preventing Program Inconsistencies Under Database Schema Evolution // 2016 IEEE International Conference on Software Quality, Reliability and Security

JPA implementations versus pure JDBC Conference: Congreso de Ciencia y Tecnología de la ESPE-2008, At Quito, Ecuador, 2008

Liang, D. “Rapid Java Application Development Using Sun ONE TM Studio 4”, New Jersey: Prentice Hall, 2003,1st edition, pg. 514

Penchikala, S., O Reilly on Java.com: The independent source for Enterprise Java (2006), “JDBC 4.0 Enhancements in Java SE 6”, Retrieved April 14, 2008, from www.onjava.com website: http://www.onjava.com/pub/a/onjava/2006/08/02/jjdb c-4-enhancements-in-java-se-6.html

E. E. Ogheneovo, P. O. Asagba, N. O. Ogini. An Object Relational Mapping Technique for Java Framework, International Journal of Engineering Science Invention, 2013, Pages: 01-9, Vol: 6

Tse-Hsun Chen, Weiyi Shang, Parminder Flora CacheOptimizer: helping developers configure caching frameworks for hibernate-based database-centric web applications // Proceedings of the 2016 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering Pages 666-677 Seattle, WA, USA — November 13 - 18, 2016

Hibernate (2008). “Java Persistence with Hibernate”, retrieved April 12, 2008, from www.hibernate.org website: http://www.hibernate.org/397.html

Penchikala, S., O Reilly on Java.com: The independent source for Enterprise Java (2006), “JDBC 4.0 Enhancements in Java SE 6”, Retrieved April 14, 2008

HIBERNATE - Relational Persistence for Idiomatic Java , http://www.Hibernate.org/hib_docs/v3/reference/en/html/preface.html

Apache OpenJPA User Guide 2.3. http://openjpa.apache.org/builds/latest/docs/docbook/manual/main. html. 2011.

M. Goeminne and T. Mens. Towards a survival analysis of database framework usage in Java projects. In Int’l Conf. Software Maintenance and Evolution (ICSME), 2015.

Haseeb Yousaf. “Performance evaluation of Java Object-Relational Map- ping tools”. PhD thesis. 2012.

EclipseLink Documentation Center; http://wiki.eclipse.org/EclipseLink/Documentation_Center; accessed Oct. 2011

Doug Clarke. https://dzone.com/articles/ introducing-eclipselink. Jun. 30, 2008

Spring Data, https://spring.io/projects/spring-data

Thorben Janssen, Hibernate Tips: More than 70 solutions to common Hibernate problems, Thoughts on Java, 2018. — 256 p.

W. Jing, R. Fan, The research of hibernate cache technique and applicationof ehcache component, in: 2011 IEEE 3rd International Conference on Communication Software and Networks, (ICCSN), IEEE, 2011, pp.160–162

A. Silberschatz, H. Korth, and S. Sudarshan, Database System Concepts. McGraw-Hill, 2010.

R. Stephens, Beginning Database Design Solutions. John Wiley & Sons, 2010.

C. Bauer and G. King, Java persistence with Hibernate. Man- ning Pubs Co Series, Manning, 2007.

M. Keith and M. Schincariol, Pro JPA 2: mastering the Java Per- sistence API. Apress Series, Apress, 2009.

“JSR 317: Java Persistence API, Version 2.0.” http://jcp. org/en/jsr/detail?id=317, Dec. 2009

Analysis of ORM based JPA Implementations. Neha Dhingra, Ottawa, Canada, 2017 Published 2017, Computer Science

Performance Improvement of OpenJPA by Query Dependency Analysis, Miki Enoki, Yosuke Ozawa, Tamiya Onodera // Conference on Database Systems for Advanced Applications 2010: Database Systems for Advanced Applications pp 370-379

MYBATIS Tutorial. –http://www.tutorialspoint. com/mybatis/.

MyBatis Introduction. –http://www.mybatis.org/mybatis-3/.

Comparative analysis of data persistence technologies for large-scale models Authors: Konstantinos Barmpis, Dimitrios S. Kolovos // Proceedings of the 2012 Extreme Modeling WorkshopOctober 2012 Pages 33-38

Optimizing JPA Performance: An EclipseLink, Hibernate, and OpenJPA Comparison by Daniel Rubio, Jul. 20, 10//Performance Zone

Memory-Efficient index for cache invali- dation mechanism with OpenJPA, In International Conference on Web Information Systems Engineering, 2014, Pages: 696-703.

E. E. Ogheneovo, P. O. Asagba, N. O. Ogini. An Object Relational Mapping Technique for Java Framework, International Journal of Engineering Science Invention, 2013.

M. Keith, M. Schincariol. Introduction to InPro JPA 2, Apress, 2013, Pages: 1-110

S. Rodrguez. JPA implementations comparison: Hibernate, Toplink Essentials, OpenJPA and Eclipselink, Available At: newblock http://blog.eisele.net/2009/01/jpa-implementations-comparison.html 2011

M. Debnath. Manage Concurrent Access to JPA Entity with Locking, Available At: http://www.developer.com/java/manage-concurrent-access-to-jpa-entity-with- locking.html, 2013

H. Yousaf. Performance Evaluation of Java Object Relational Mapping, University of Georgia Athens, Master Thesis, 2012

M. Keith and M. Schincariol, Pro JPA 2: mastering the Java Per- sistence API. Apress Series, Apress, 2009.

S. Devijver. The problem with JPA/Hibernate (or the future of ORM), Available At: https://dzone.com/articles/problem-jpahibernate-or-future-orm, 2008

Hibernate developer guide: http://docs.jboss.org/ hibernate/core/4.0/devguide/en-US/html/.

EclipseLink project wiki: http://wiki.eclipse.org/ Category: EclipseLink/Documentation/JPA.

Apache OpenJPA User Guide: http://openjpa.apache.org/ builds/2.1.1/apache-openjpa/docs/manual.html.

Design and Application of the Hibernate Persistence Layer Data Report System using JasperReports, B. S. Sapre, R. V. Thakare, S. V. Kakade. International Journal of Engineering and Innovative Technology (IJEIT) , 2012

M. Keith, M. Schincariol. Introduction to InPro JPA 2, Apress, 2013

C. Bauer, G. King. Java Persistance with Hibernate, 2006, Pages: 123-302

Hibernate ORM 4.0 API documentation: http://docs. jboss.org/hibernate/orm/4.0/javadocs/

Eclipselink Transaction management. Introduction to EclipseLink Transactions. Available At: https://wiki.eclipse.org/, 2014

OpenJPA. What is Enhancement Anyway? In OpenJPA , Available At: http://openjpa.apache.org/entity-enhancement.html, 2017

EclipseLink 2.3 API documentation: http://www.eclipse.org/eclipselink/api/2.3/index.html.

EclipseLink project wiki: http://wiki.eclipse.org/ Category: EclipseLink/Documentation/JPA.


Refbacks

  • There are currently no refbacks.


Abava  Absolutech Convergent 2020

ISSN: 2307-8162