Comparative analysis of data access technologies in Java applications
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 Кибербезопасность IT Congress 2024
ISSN: 2307-8162