H. Performance Optimization
Performance Optimization in JPA implementation
contributes some of the major criterion’s to develop an API;
it includes an optimizer, fetch strategies, indexes and
parameterized searching options [28]. To bridge different
implementations, JPA includes pre-loaded metadata
repositories. Performance Optimization in JPA
implementation contributes some of the major criterion's to
develop an API; it includes an optimizer, fetch strategies,
indexes and parameterized searching options. To bridge
different implementations, JPA includes pre-loaded metadata
repositories. These repositories are useful in order to perform
tasks, such as metadata mapping and improving query
response time. JPA implementations support pre-compiled
mapping through MetedataAdpters [28]. These adapters are
pre-loaded in the API to automate the metadata creation [28].
EclipseLink JPA includes a MetadataSourceAdapter [29] to
implement the mapping process, whereas other
implementations such as OpenJPA and Hibernate are
inefficient in loading the repositories. These repositories are
useful in order to perform tasks, such as metadata mapping
and improving query response time. JPA implementations
support pre-compiled mapping through MetedataAdpters
[30
]. Table VIII compares JPA implementations comparing
features affecting performance [28]-[30].
IV. CONCLUSION
JPA implementations acknowledge the programmers to
build extensible APIs by reducing and reusing the code to
accomplish data persistence. Furthermore, JPA also
diminishes the disk overhead and network resource
consumption because ORM maps the binding between
dissimilar modeling architectures. Moreover, applications
developed in JPA reduces the load of handling complex task
but it is not preferred in distributed databases. The high-level
abstraction, however, is seldom complex for an unfamiliar
developer. But JPA reliably manages the prospective user to
create an efficient API with a standardized interfaces. The
prospective of the paper was to consolidate the benefits and
features in the four JPA implementation i.e. Hibernate,
Eclispelink, Open-JPA and Data Nucleus. A literature review
on the JPAs would be advantageous for an unfamiliar
developer. In con- clusion, the JPA persistence providers [30]
can develop efficient API and performance oriented. But the
question resides which implementation is well suited to
which environment. This paper concretely established an
interpretation by analyzing four distinct JPA implementation
and generating a comparative summary sordid on the
specialties and etiquette of the API. Hibernate being the most
exceptional JPA standard in terms of the documentation
support and libraries to manage complicated responsibilities.
For future, an optimal solution to improve the scalability of
the API through proper documentations of the complex task
along with improving the cache mechanism in OpenJPA
[30].
REFERENCES
[1] Patrick Connor Linskey BEA Systems, Inc., San Francisco, CA Marc
Prud’hommeaux BEA Systems, Inc., San Francisco, CA 2007, “An
in-depth look at the architecture of an object/relational mapper
SIGMOD’07,”
Conference on Management of Data.
[2] L. Sembera. (2012). Comparison of JPA providers and issues with
migration. [Online]. Available: http:// is. muni.cz/ th/ 365414/fim/
thesis.pdf
[3] B. Eberlei, G. Blanco, and J. WageRoman Borschel. (2015). Doctrine
of objects. [Online]. Available: http:// www.doctrine-project.org/
[4] E. E. Ogheneovo, P. O. Asagba, and N. O. Ogini, “Object relational
mapping technique for java framework,” International Journal of
Engineering Science Invention, 2013.
[5] M. Keith and M. Schincariol, “Pro JPA 2, a definitive guide to
mastering the java persistence API book,” 2010.
[6] T. Giunipero. (2016). Developing a Java persistence API with the
netbeans IDE and ecliselink. [Online]. Available: http:// www.
oracle.com/technetwork/systems/ts-5400-159039.pdf
[7] O. Probst, Investigating a Constraint-Based Approach to Data Quality
in Information Systems Master Thesis, 2013.
[8] Enoki, Y. Ozawa, H. Horii, and T. Onodera, “Memory-efficient index
for cache invalidation mechanism with OPENJPA,” Web Information
Systems Engineering, 2012.
[9] D. S. Bower, “The myth: Object-relational impedance mismatch is a
wicked problem exposing,” The Seventh International Conference on
Advances in Databases, Knowledge, and Data Applications, 2015.
[10] J. E. Lascano. (2014). JPA implementations versus pure JDBC.
[Online]. Available: https://www.researchgate.net/publication
[11] K. L. Nitin, “JPA 2 enhancements every java developer should know,”
2010.
[12] B. S. Sapre, R. V. Thakare, S. V. Kakade, and B. B. Meshram, “Design
and application of the hibernate persistence layer data report system
using jasper reports,” International Journal of Engineering and
Innovative Technology (IJEIT), 2012.
[13] N. Sharma and P. N. Barwal, “Electronic project proposal management
system for research projects based on integrated framework of spring
and hibernate,” International Journal of Soft Computing and
Engineering (IJSCE), 2014.
[14] B. Vasavi, Y. V. Sreevani, and G. S. Priya, “Hibernate technology for
an efficient business application extension,” Journal of Global
Research in Computer Science, 2011.
[15] Eclipselink. (2015). Eclipselink Website. [Online]. Available: http://
www. ecli pse .org/
[16] O. Probst, “Investigating a constraint-based approach to data quality in
information systems master thesis,” 2013.
[17] O. Probst, “Data persistence layer and on the model-view-controller
pattern for a software design case study,” 2010.
[18] OPENJPA. (2013). What is enhancement anyway? OPENJPA Website.
[Online]. Available: http://openjpa.apache.org
/entityenhancement.html
[19] M. Nachev. (2013). Apache OpenJPA 2.0 user’s guide. [Online].
Available: http://openjpa.apache.org/builds/2.0.0/apache-openjpa-
2.0.0/docs/manual/manual.pdf
[20] J. Tee and A. Jefferson, “Slingshot yourself into datanucleus 2.1 and
JPA 2.0, blog,” 2014.
[21] Data Nucleus. [Online]. Available: http://www.datanu -cl eus.org/ .
[22] Oracle Contributor. (2013). EclipseLink solutions guide for eclipse
link release 2.5. [Online]. Available: http://www.eclipse.org
/eclipselink/documentation/2.5/eclipselinktladg.pdf
[23] H. Wu. (2014). Handling large result set. [Online]. Available:
http://herbe
rtwu.wordpress.com/2009/04/24handling-large-collection-data-sets.
[24] Hibernate. (2015). Multithreading in hibernate. [Online]. Available:
http://blog. xebia.com/2009/02/07/hibernate-and-multi- threading
[25] Eclipselink. (2014). Eclipselink flushing. [Online]. Available:
http://wiki.eclipse.org/EclipseLink/ FAQ/J PA
[26] Eclipselink. (2014). Transaction management in eclipselink. [Online].
Available: https://wiki. eclipse.org/
[27] S. Folino. (2012). JPA set vs list. [Online]. Available: http://simone-
folino.blogspot.ca/2012/09/jpa-set-and-list-using-jointabml
[28] O. Yang and H. ji et al., “A data persistence layer model based on DAO
design pattern and hibernate framework [J],” Microcomputer
Applications, 2009.
[29] C. Bauer and G. King, “Hibernate in action,” 2005.
[30] Anderson, M. Kenneth, and A. Schram, “Design and implementation of
a data analytics infrastructure in support of crisis informatics
International Journal of Computer Theory and Engineering, Vol. 9, No. 5, October 2017
327
in Proc. the 2007 ACM SIGMOD International