链接: 百度网盘

密码: 1jdt

******* Step By Step Details *******

Journey from JDBC To JPA

Step01 - Setting up a project with JDBC, JPA, H2 and Web Dependencies

Step02 - Launching up H2 Console

Step03 - Creating a Database Table in H2

Step04 - Populate data into Person Table

Step05 - Implement findAll persons Spring JDBC Query Method

Step06 - Execute the findAll method using CommandLineRunner

Step07 - A Quick Review - JDBC vs Spring JDBC

Step08 - Whats in the background? Understanding Spring Boot Autoconfiguration

Step09 - Implementing findById Spring JDBC Query Method

Step10 - Implementing deleteById Spring JDBC Update Method

Step11 - Implementing insert and update Spring JDBC Update Methods

Step12 - Creating a custom Spring JDBC RowMapper

Step13 - Quick introduction to JPA

Step14 - Defining Person Entity

Step15 - Implementing findById JPA Repository Method

Step16 - Implementing insert and update JPA Repository Methods

Step17 - Implementing deleteById JPA Repository Method

Step18 - Implementing findAll using JPQL Named Query

JPA/Hibernate in Depth

Step01 - Create a JPA Project with H2 and Spring Boot

Step02 - Create JPA Entity Course

Step03 - Create findById using JPA Entity Manager

Step04 - Configuring application.properties to enable H2 console and additional logging

Step05 - Writing Unit Test for findById method

Step06 - Writing a deleteByID method to delete an Entity

Step07 - Writing Unit Test for deleteById method

Step08 - Writing a save method to update and insert an Entity

Step09 - Writing Unit Test for save method

Step10 - Quick Review and Debugging Tips

Step11 - Playing with Entity Manager

Step12 - Entity Manager Methods - clear and detach

Step13 - Entity Manager Methods - refresh

Step14 - A Quick Review of Entity Manager

Step15 - JPQL - Basics

Step16 - JPA and Hibernate Annotations - @Table

Step17 - JPA and Hibernate Annotations - @Column

Step18 - JPA and Hibernate Annotations - @UpdateTimestamp and @CreationTimestamp

Step19 - JPA and Hibernate Annotations - @NamedQuery and @NamedQueries

Step20 - Native Queries - Basics

Step21 - Entities and Relationships - An overview

Step22 - Defining Entities - Student, Passport and Review

Step23 - Introduction to One to One Relationship

Step24 - OneToOne Mapping - Insert Student with Passport

Step25 - OneToOne Mapping - Retrieving Student with Passport and Eager Fetch

Step26 - OneToOne Mapping - Lazy Fetch

Step27 - Session vs Transaction

Step28 - OneToOne Mapping - Bidirectional Relationship - Part 1

Step29 - OneToOne Mapping - Bidirectional Relationship - Part 2

Step30 - ManyToOne Mapping - Designing the database

Step31 - ManyToOne Mapping - Retrieving and inserting Reviews for Course

Step32 - ManyToOne Mapping - Generalizing Insert Reviews

Step33 - ManyToOne Mapping - Wrapping up

Step34 - ManyToMany Mapping - Table Design

Step35 - ManyToMany Mapping - Adding Annotations on Entities

Step36 - ManyToMany Mapping - Fixing two join tables problem

Step37 - ManyToMany Mapping - Customizing the Join Table

Step38 - ManyToMany Mapping - Insert Data and Write Join Query

Step39 - ManyToMany Mapping - Retrieve Data using JPA Relationships

Step40 - ManyToMany Mapping - Insert Student and Course

Step41 - Relationships between JPA Entities - A summary

Step42 - Introduction to Inheritance Hierarchies and Mappings

Step43 - JPA Inheritance Hierarchies and Mappings - Setting up entities

Step44 - JPA Inheritance Hierarchies and Mappings - Setting up a Repository

Step45 - JPA Inheritance Hierarchies and Mappings - Single Table

Step46 - JPA Inheritance Hierarchies and Mappings - Table Per Class

Step47 - JPA Inheritance Hierarchies and Mappings - Joined

Step48 - JPA Inheritance Hierarchies and Mappings - Mapped Super Class

Step49 - JPA Inheritance Hierarchies and Mappings - How to Choose?

Step50 - JPQL - Courses without Students

Step51 - JPQL - Courses with atleast 2 Students and order by

Step52 - JPQL - Courses like 100 Steps

Step53 - JPQL - Using Joins

Step54 - Criteria Query - Retrieving all courses

Step55 - Criteria Query - Courses like 100 Steps

Step56 - Criteria Query - Courses without Students

Step57 - Criteria Query - Using Joins

Step58 - Introduction to Transaction Management

Step59 - Transaction Management - ACID Properties

Step60 - Understanding Dirty, Phanthom and Non Repeatable Reads

Step61 - Understand 4 Isolation Levels

Step62 - Choosing between Isolation Levels

Step63 - Implementing Transaction Management - 3 Things to Decide

Step64 - Introduction to Spring Data JPA

Step65 - Testing the Spring Data JPA Repository with findById.

Step66 - Spring Data JPA Repository - CRUD Methosd

Step67 - Sorting using Spring Data JPA Repository

Step68 - Pagination using Spring Data JPA Repository

Step69 - Custom Queries using Spring Data JPA Repository

Step70 - Spring Data REST

Step71 - Introduction to Caching

Step72 - Hibernate and JPA Caching - First Level Cache

Step73 - Hibernate and JPA Caching - Basics of Second Level Cache with EhCache

Step74 - Hibernate and JPA Caching - Second Level Cache Part 2

Step75 - Hibernate Tips - Hibernate Soft Deletes - @SQLDelete and @Where

Step76 - Hibernate Soft Deletes - Part 2

Step77 - JPA Entity Life Cycle Methods

Step78 - Using Embedded and Embeddable with JPA

Step79 - Using Enums with JPA

Step80 - JPA Tip - Be cautious with toString method implementations

Step81 - JPA Tip - When do you use JPA?

Step82 - Performance Tuning - Measure before Tuning

Step83 - Performance Tuning - Indexes

Step84 - Performance Tuning - Use Appropriate Caching

Step85 - Performance Tuning - Eager vs Lazy Fetch

Step86 - Performance Tuning - Avoid N+1 Problems

Hibernate Tips & Tricks

When does Hibernate send updates to the database?

When do we need @Transactional in an Unit Test?

Do read only methods need a transaction?

Why do we use @DirtiesContext in an Unit Test?

How to connect to a different database with Spring Boot?

How do you approach designing great applications with JPA?

Good Practices for developing JPA Applications