• Complain

Mike Keith Merrick Schincariol - Pro JPA 2 in Java EE 8

Here you can read online Mike Keith Merrick Schincariol - Pro JPA 2 in Java EE 8 full text of the book (entire story) in english for free. Download pdf and epub, get meaning, cover and reviews about this ebook. year: 0, publisher: Apress, Berkeley, CA, genre: Computer. Description of the work, (preface) as well as reviews are available. Best literature library LitArk.com created for fans of good reading and offers a wide selection of genres:

Romance novel Science fiction Adventure Detective Science History Home and family Prose Art Politics Computer Non-fiction Religion Business Children Humor

Choose a favorite category and find really read worthwhile books. Enjoy immersion in the world of imagination, feel the emotions of the characters or learn something new for yourself, make an fascinating discovery.

Mike Keith Merrick Schincariol Pro JPA 2 in Java EE 8

Pro JPA 2 in Java EE 8: summary, description and annotation

We offer to read an annotation, description, summary or preface (depends on what the author of the book "Pro JPA 2 in Java EE 8" wrote himself). If you haven't found the necessary information about the book — write in the comments, we will try to find it.

Mike Keith Merrick Schincariol: author's other books


Who wrote Pro JPA 2 in Java EE 8? Find out the surname, the name of the author of the book and a list of all author's works by series.

Pro JPA 2 in Java EE 8 — read online for free the complete book (whole text) full work

Below is the text of the book, divided by pages. System saving the place of the last page read, allows you to conveniently read the book "Pro JPA 2 in Java EE 8" online for free, without having to search again every time where you left off. Put a bookmark, and you can go to the page where you finished reading at any time.

Light

Font size:

Reset

Interval:

Bookmark:

Make
Mike Keith, Merrick Schincariol, Massimo Nardone 2018
Mike Keith , Merrick Schincariol and Massimo Nardone Pro JPA 2 in Java EE 8
1. Introduction
Mike Keith 1, Merrick Schincariol 2 and Massimo Nardone 3
(1)
Ottawa, Ontario, Canada
(2)
RR 3, RR 3, Almonte, Ontario, Canada
(3)
Helsinki, Finland
Electronic supplementary material
The online version of this chapter ( https://doi.org/10.1007/978-1-4842-3420-4_1 ) contains supplementary material, which is available to authorized users.
Enterprise applications are defined by their need to collect, process, transform, and report on vast amounts of information. And, of course, that information has to be kept somewhere. Storing and retrieving data is a multibillion dollar business, evidenced in part by the growth of the database market as well as the emergence of cloud-based storage services. Despite all the available technologies for data management, application designers still spend much of their time trying to efficiently move their data to and from storage.
Despite the success the Java platform has had in working with database systems, for a long time it suffered from the same problem that has plagued other object-oriented programming languages. Moving data back and forth between a database system and the object model of a Java application was a lot harder than it needed to be. Java developers either wrote lots of code to convert row and column data into objects, or found themselves tied to proprietary frameworks that tried to hide the database from them. Fortunately, a standard solution, the Java Persistence API (JPA), was introduced into the platform to bridge the gap between object-oriented domain models and relational database systems.
This book introduces version 2.2 of the Java Persistence API as part of the Java EE 8 and explores everything that it has to offer developers.
Maintenance release of JPA 2.2 started during 2017 under JSR 338 and was finally approved on June 19, 2017.
Here is the official Java Persistence 2.2 Maintenance release statement:
The Java Persistence 2.2 specification enhances the Java Persistence API with support for repeating annotations; injection into attribute converters; support for mapping of the java.time.LocalDate , java.time.LocalTime , java.time.LocalDateTime , java.time.OffsetTime , and java.time.OffsetDateTime types; and methods to retrieve the results of Query and TypedQuery as streams.
One of its strengths is that it can be slotted into whichever layer, tier, or framework an application needs it to be in. Whether you are building client-server applications to collect form data in a Swing application or building a website using the latest application framework, JPA can help you provide persistence more effectively.
To set the stage for JPA, this chapter first takes a step back to show where weve been and what problems we are trying to solve. From there, we will look at the history of the specification and give you a high-level view of what it has to offer.
Relational Databases
Many ways of persisting data have come and gone over the years, and no concept has more staying power than the relational database. Even in the age of the cloud, when Big Data and NoSQL regularly steal the headlines, relational database services are in consistent demand to enable today's enterprise applications running in the cloud. While key-value and document-oriented NoSQL stores have their place, relational stores remain the most popular general-purpose databases in existence, and they are where the vast majority of the worlds corporate data is stored. They are the starting point for every enterprise application and often have a lifespan that continues long after the application has faded away.
Understanding relational data is key to successful enterprise development. Developing applications to work well with database systems is a commonly acknowledged hurdle of software development. A good deal of Javas success can be attributed to its widespread adoption for building enterprise database systems. From consumer websites to automated gateways, Java applications are at the heart of enterprise application development. Figure shows an example of a relational database of user to car .
Figure 1-1 User to car relational database Object-Relational Mapping The - photo 1
Figure 1-1
User to car relational database
Object-Relational Mapping
The domain model has a class. The database has a table. They look pretty similar. It should be simple to convert one to the other automatically. This is a thought weve probably all had at one point or another while writing yet another Data Access Object (DAO) to convert Java Database Connectivity (JDBC) result sets into something object-oriented. The domain model looks similar enough to the relational model of the database that it seems to cry out for a way to make the two models talk to each other.
The technique of bridging the gap between the object model and the relational model is known as object-relational mapping , often referred to as O-R mapping or simply ORM. The term comes from the idea that we are in some way mapping the concepts from one model onto another, with the goal of introducing a mediator to manage the automatic transformation of one to the other.
Before going into the specifics of object-relational mapping, lets define a brief manifesto of what the ideal solution should be.
  • Objects, not tables : Applications should be written in terms of the domain model, not bound to the relational model. It must be possible to operate on and query against the domain model without having to express it in the relational language of tables, columns, and foreign keys.
  • Convenience, not ignorance : Mapping tools should be used only by someone familiar with relational technology. O-R mapping is not meant to save developers from understanding mapping problems or to hide them altogether. It is meant for those who have an understanding of the issues and know what they need, but who dont want to have to write thousands of lines of code to deal with a problem that has already been solved.
  • Unobtrusive, not transparent : It is unreasonable to expect that persistence be transparent because an application always needs to have control of the objects that it is persisting and be aware of the entity lifecycle. The persistence solution should not intrude on the domain model, however, and domain classes must not be required to extend classes or implement interfaces in order to be persistable.
  • Legacy data, new objects : It is far more likely that an application will target an existing relational database schema than create a new one. Support for legacy schemas is one of the most relevant use cases that will arise, and it is quite possible that such databases will outlive every one of us.
  • Enough, but not too much : Enterprise developers have problems to solve, and they need features sufficient to solve those problems. What they dont like is being forced to eat a heavyweight persistence model that introduces large overhead because it is solving problems that many do not even agree are problems.
  • Local, but mobile : A persistent representation of data does not need to be modeled as a full-fledged remote object. Distribution is something that exists as part of the application, not part of the persistence layer. The entities that contain the persistent state, however, must be able to travel to whichever layer needs them so that if an application is distributed, then the entities will support and not inhibit a particular architecture.
Next page
Light

Font size:

Reset

Interval:

Bookmark:

Make

Similar books «Pro JPA 2 in Java EE 8»

Look at similar books to Pro JPA 2 in Java EE 8. We have selected literature similar in name and meaning in the hope of providing readers with more options to find new, interesting, not yet read works.


Reviews about «Pro JPA 2 in Java EE 8»

Discussion, reviews of the book Pro JPA 2 in Java EE 8 and just readers' own opinions. Leave your comments, write what you think about the work, its meaning or the main characters. Specify what exactly you liked and what you didn't like, and why you think so.