Spring Data JPA Fundamentals (with Hibernate)
What you'll learn
- The essentials of Repositories, Derived Queries, Sorting, Paging, Modifying, Projections, Transaction Management, and Concurrency
- Understand Entity Relationships, Inheritance Mapping, Polymorphic Queries and Repository Inheritance
- Understand how to handle concurrent transactions using Optimistic Locking and Pessimistic Locking
- How to manage and propagate transactions efficiently
- Essentials of Database Isolation Rules
- Some of the Best Practices and Performance Optimisations
- JPA Essentials of Entity State Transitions, 1st Level Caching, Automatic Dirty Checking, Persistence Context and Flushing
Requirements
- Fundamental understanding and programming experience of Java
- Prior exposure to SQL will be be helpful
- Basic understanding of Hibernate/JPA
- Fundamental understanding and programming experience of Spring framework and Spring Boot
Description
If you’re a Spring/Java programmer who wants to learn the fundamentals and some of the advanced topics of Spring Data JPA with Hibernate, then you’re the one this course is designed for.
It uses Hibernate as the JPA provider for this course, which is also the default JPA provider of Spring Data JPA. You'll be learning the fundamentals and some of the advanced Spring Data JPA features covering Repositories, Derived Queries, Paging & Sorting, Query-By-Example (QBE), Auditing, Transactions & Concurrency, Modifying Queries, Projections, Mapping Associations and Mapping Inheritance.
It'll be discussing some of the Best Practices and Performance Optimizations as well.
Spring Data JPA provides an abstraction layer built on top of the JPA API specification, so JPA is important for this course, but even if you have just some basic experiences with JPA/Hibernate, you should not find it difficult to complete this course successfully, as it also covers the most essential topics of JPA at the end of the course in Appendix A.
The course also discusses the SQL at runtime every step of the way, and the performance implications of it. There will also be Lab-Exercises and Quizzes throughout the course, to challenge you, and also to help you revise the concepts learnt in the previous sessions.
MySQL and H2 in-memory database are the two RDBMS that the used in the course.
Who this course is for:
- Spring/Java/JPA/Hibernate programmers who want to learn how to use Spring Data JPA with Hibernate in their Spring Boot projects
- Professionals working on Java/JavaEE/Spring technologies
Instructor
I am a Bachelor of Technology (B Tech) from Indian Institute of Technology (IIT) with around 9 years of application development experience (as of April, 2016). I have been developing applications of various complexities using Java-based technologies and frameworks such as Java/JavaEE, Spring, Spring MVC, Spring WebFlow, Spring Security, Spring Boot, Microservices, Spring Cloud, Portlet, Spring Portlet MVC, Struts, Hibernate, DWR, Lucene, Android and Hadoop.
Besides being a trainer at MavenEdge, I am also a working Software Consultant. I've also been a corporate trainer on Java technologies and frameworks.
I've worked on Tomcat, Glassfish, JBoss, Liferay Portal, Jenkins for application development, deployment and release management.
I've worked more on Maven than Gradle and Ant. And in the world of relational database management systems, I've worked mostly on MySQL and PostgreSQL.
For test driving my code I've used JUnit, EasyMock, Mockito frameworks.
Besides working on the server-end, I've also explored the front-end world of JavaScript, jQuery, Backbone, Require JS and MEAN stack.
I took some Oracle certifications as well along the way.
Currently, I am working on a Scalable NLP project.