Join our community on Spectrum to ask your doubts on the way:
This repository contains path that will help you to learn Java, Spring / Spring Boot, Hibernate, RESTful APIs & related technologies to build Java-based web applications.
Basics of Java can be learnt from this course
The service layer interacts with the presentation layer and the persistence layer.
Web services are client and server applications that communicate over the World Wide Web’s (WWW) HyperText Transfer Protocol (HTTP). Web services provide a standard means of interoperating between software applications running on a variety of platforms and frameworks Learn More
Spring Framework is an open source Java application development framework which supports building all types of Java applications like web applications, database driven applications, enterprise applications and many more. Java applications developed using Spring are simple, easily testable, reusable and maintainable Learn More
Spring Boot is a framework built on the top Spring framework that helps developers build Spring-based applications quickly and easily. The main goal of Spring Boot is to quickly create Spring-based applications without requiring developers to write the same boilerplate configuration again and again Learn More
The persistence layer is the layer which interacts with the relational database and service layer. It gets data from service layer, performs operations on database and sends back results to service layer. In this layer the code to interact with database is implemented.
You have already learned how to use JDBC for data access. But using JDBC is challenging because of following reasons:
- Connection Management
- Exception Handling
- Code Duplication
So to make use of JDBC easier Spring provided one layer of abstraction, called Spring JDBC, on top of existing JDBC technology Learn More
You have learned how to use Spring JDBC for developing persistence layer. But Spring JDBC code involves both Java objects (object model) and SQL queries (relational model) which makes it difficult to use. This is because the way data is stored in objects is different from the way it is stored in tables and so some sort of translation is required between object model and relational model. But this translation is not easy because of paradigm mismatch between object and relational model. This paradigm mismatch is called as Object-Relational Impedance Mismatch and it exposes following problems :
- Problem of Granularity
- Problem of Inheritance
- Problem of Identity
- Problem of Associations
- Problem of Data Navigation
To handle these problems, a technique called as Object-Relational Mapping (ORM) came into market. It handles object relational impedance mismatch by providing a way to map objects directly to tables so that object model can be automatically translated to relation model and vice versa, This let developers focus only on the object model Learn More
The Java Persistence API (JPA) is Java EE specification that defines how data persistence‐related tasks are handled using object‐relational mapping (ORM) frameworks in Java applications Learn More
The Spring Framework provides support for JPA, Hibernate, and other ORM frameworks. You can easily integrate these frameworks with Spring. Learn how to use JPA with Spring Boot
JPA provides a query language called as Java Persistence Query Language (JPQL). Its syntax is very similar to SQL but these queries are defined using entity classes and its attributes instead of tables and columns. This makes it easy for Java developers to use it. But since database uses SQL JPA implementations translates the JPQL query into SQL using query translator Learn More
The presentation layer of an enterprise application handles the client requests and provide clients a visual view of the information. It also allows them to perform business functions provided and managed by the application.