inflearn logo

[Lv2] Chinh phục hoàn toàn JPA dành cho lập trình viên thực chiến - Từ ngữ cảnh bền vững đến các mẫu thực tiễn

Bạn từng viết SQL bằng JdbcTemplate rồi đúng không? Chắc hẳn ai cũng từng thở dài vì mỗi lần thay đổi một cột lại phải sửa đồng thời cả SQL lẫn RowMapper. Khóa học này bắt đầu từ chính nỗi đau đó. Chỉ một câu lệnh SELECT bằng JDBC thuần cũng dài tới 35 dòng. Mở Connection, tạo PreparedStatement, duyệt ResultSet, rồi chỉ cần bỏ sót một lệnh close() là máy chủ có thể sập. Sau khi tự tay gõ qua địa ngục này, đến lúc gặp một dòng save() của JPA, bạn sẽ cảm nhận được “thì ra đây là lý do người ta dùng JPA” không phải bằng lý trí, mà bằng chính đôi tay của mình.

(5.0) 8 đánh giá

128 học viên

Độ khó Cơ bản

Thời gian Không giới hạn

JPA
JPA
spring-jpa
spring-jpa
Java
Java
Spring
Spring
Spring Boot
Spring Boot
JPA
JPA
spring-jpa
spring-jpa
Java
Java
Spring
Spring
Spring Boot
Spring Boot

Đánh giá từ những học viên đầu tiên

5.0

5.0

Bruce Han

100% đã tham gia

Điểm rất tốt của khóa học này - Giảng viên dạy JPA rất tốt, tập trung vào thực tế. - Giải thích lý thuyết thông qua các phép ẩn dụ giúp tôi hiểu bài rất nhanh. Lưu ý khi nghe giảng - Nếu chỉ nghe không thì sẽ không nhớ được lâu. Vì vậy, tôi nghĩ việc nghe xong mỗi bài giảng, thực hành gõ theo giáo trình và hiểu rõ rồi mới chuyển sang bài tiếp theo là rất quan trọng. Điểm cần cải thiện để tốt hơn - Thỉnh thoảng có lỗi đánh máy trong video. Ví dụ, có những trường hợp phụ đề hiển thị sai từ như tính đa hình (다형성) thành tính đa dạng (다양성), hay giải thích nhầm builder.and thành builder.end.

5.0

안승현

61% đã tham gia

Tôi đang lắng nghe rất kỹ, tuy là ý kiến chủ quan nhưng đây là bài giảng dễ hiểu nhất đối với tôi.

5.0

부분적무료화

100% đã tham gia

Khóa học này giải thích JPA một cách cực kỳ dễ hiểu, đồng thời giải thích rất tốt về sự khác biệt trong mô hình (paradigm) giữa đối tượng và bảng DB kèm theo các ví dụ cụ thể. Thay vì chỉ dừng lại ở việc liệt kê các tính năng của JPA, giảng viên còn đưa ra các ví dụ về những tính năng nên dùng và những tính năng nên hạn chế, đồng thời gợi ý cách sử dụng thực tế trong công việc. Đối với những người đã sử dụng JPA khá thành thạo trong thực tế, đây là một khóa học tốt để ôn lại kiến thức. Còn đối với những người mới bắt đầu hoặc đang cân nhắc áp dụng JPA, nếu sử dụng khóa học này như một cuốn sách hướng dẫn, tôi tin rằng các bạn có thể xây dựng dịch vụ mà không gặp quá nhiều khó khăn.

Bạn sẽ nhận được điều này sau khi học.

  • Khả năng giải thích trôi chảy dựa trên kinh nghiệm về bộ nhớ đệm cấp một, cơ chế phát hiện thay đổi và trì hoãn ghi.

  • Trải nghiệm trực tiếp nếm trải sự khổ sở với 35 dòng JDBC và cảm nhận được vì sao JPA là cần thiết

  • Kỹ năng debug thực tế: xem log để tìm nguyên nhân khi xảy ra vấn đề N+1 và lựa chọn giải pháp phù hợp với từng tình huống giữa Fetch Join / @EntityGraph / @BatchSize

  • Năng lực thiết kế truy vấn động gọn gàng bằng BooleanExpression của QueryDSL mà không tạo ra một mớ if lộn xộn, đồng thời tích hợp JPA và QueryDSL theo cấu trúc tiêu chuẩn thực tiễn với mô hình Custom Repository

  • Từ thiết kế entity, ánh xạ quan hệ kế thừa, BaseEntity(Auditing) đến kiểu nhúng — năng lực thiết kế giúp bạn khi bắt đầu dự án thực tế có thể quyết định “Hãy đi theo pattern này” thay vì “Thiết kế bảng như thế nào đây?”

Khuyến nghị cho
những người này

Khóa học này dành cho ai?

  • Dành cho những ai muốn nắm bắt khái quát JPA là gì và tại sao nên sử dụng nó.

  • Dành cho những ai muốn khơi gợi các câu hỏi bổ sung từ người phỏng vấn bằng những câu trả lời dựa trên kinh nghiệm

  • Những ai đã hiểu @ManyToOne nhưng vẫn chưa nắm rõ tại sao cần quan hệ hai chiều và mappedBy là gì.

  • Dành cho những ai muốn hiểu nguyên lý: truy vấn được gửi đi khi nào, cơ chế phát hiện thay đổi hoạt động ra sao và tại sao không cần dùng `update()`.

  • Dành cho những người cần kỹ năng thực tế để đọc nhật ký truy vấn và tự mình giải quyết vấn đề.

Cần biết trước khi bắt đầu?

  • Cú pháp Java cơ bản (câu lệnh if, vòng lặp for, lớp, giao diện)

  • Kinh nghiệm xây dựng một REST API đơn giản bằng Spring Boot

  • Kinh nghiệm thực hiện CRUD cơ sở dữ liệu bằng JdbcTemplate (các thao tác SQL cơ bản như SELECT, INSERT, v.v.)

Xin chào
Đây là dingcodingco

Xác minh Inflearn

Xác minh sự nghiệp

19,853

Học viên

1,996

Đánh giá

365

Trả lời

4.9

Xếp hạng

32

Các khóa học

Nhận phiếu giảm giá 15% cho khóa học Dingcodingco

🚀 Từng làm việc tại Toss, tốt nghiệp Đại học Khoa học và Công nghệ Pohang | Lập trình viên backend đang làm việc trong ngành (hơn 9 năm)
🎥YouTuber với 20 nghìn người đăng ký | Sản xuất nội dung về phát triển phần mềm
📚 Giảng viên trên Inflearn | Tổng số học viên đã tham gia 18.000+
👥 Đang vận hành cộng đồng việc làm dành cho lập trình viên (8.000+)
🧩 Contributor cho nhiều dự án mã nguồn mở (Gradle, Spring AI, v.v.)
📝38 lần đậu vòng hồ sơ và hơn 100 lần chỉnh sửa CV trên Kmong (điểm đánh giá 5,0)

Truyền đạt những thông tin thực tế, sống động từ công việc một cách dễ hiểu và logic.

Liên kết phỏng vấn trên Inflearn!

Thêm

Chương trình giảng dạy

Tất cả

41 bài giảng ∙ (9giờ 39phút)

Ngày đăng: 
Cập nhật lần cuối: 

Đánh giá

Tất cả

8 đánh giá

5.0

8 đánh giá

  • brucehan님의 프로필 이미지
    brucehan

    Đánh giá 112

    ∙

    Đánh giá trung bình 4.5

    Đã chỉnh sửa

    5

    100% đã tham gia

    Điểm rất tốt của khóa học này - Giảng viên dạy JPA rất tốt, tập trung vào thực tế. - Giải thích lý thuyết thông qua các phép ẩn dụ giúp tôi hiểu bài rất nhanh. Lưu ý khi nghe giảng - Nếu chỉ nghe không thì sẽ không nhớ được lâu. Vì vậy, tôi nghĩ việc nghe xong mỗi bài giảng, thực hành gõ theo giáo trình và hiểu rõ rồi mới chuyển sang bài tiếp theo là rất quan trọng. Điểm cần cải thiện để tốt hơn - Thỉnh thoảng có lỗi đánh máy trong video. Ví dụ, có những trường hợp phụ đề hiển thị sai từ như tính đa hình (다형성) thành tính đa dạng (다양성), hay giải thích nhầm builder.and thành builder.end.

    • dingcodingco
      Giảng viên

      Rất vui vì những giải thích tập trung vào thực tiễn và các ví dụ so sánh đã giúp ích cho bạn. Cảm ơn bạn đã chỉ ra tỉ mỉ các lỗi chính tả trong phụ đề, và tôi tin rằng phương pháp học kết hợp giữa bài giảng và giáo trình để hoàn thành khóa học của bạn sẽ là một tham khảo hữu ích cho các học viên khác.

  • tarrot1415님의 프로필 이미지
    tarrot1415

    Đánh giá 3

    ∙

    Đánh giá trung bình 5.0

    5

    100% đã tham gia

    Khóa học này giải thích JPA một cách cực kỳ dễ hiểu, đồng thời giải thích rất tốt về sự khác biệt trong mô hình (paradigm) giữa đối tượng và bảng DB kèm theo các ví dụ cụ thể. Thay vì chỉ dừng lại ở việc liệt kê các tính năng của JPA, giảng viên còn đưa ra các ví dụ về những tính năng nên dùng và những tính năng nên hạn chế, đồng thời gợi ý cách sử dụng thực tế trong công việc. Đối với những người đã sử dụng JPA khá thành thạo trong thực tế, đây là một khóa học tốt để ôn lại kiến thức. Còn đối với những người mới bắt đầu hoặc đang cân nhắc áp dụng JPA, nếu sử dụng khóa học này như một cuốn sách hướng dẫn, tôi tin rằng các bạn có thể xây dựng dịch vụ mà không gặp quá nhiều khó khăn.

    • dingcodingco
      Giảng viên

      Tôi rất vui vì phần giải thích phân biệt sự khác biệt giữa mô hình đối tượng và DB, cũng như các mẫu được khuyến nghị và các mẫu nên tránh trong thực tế đã giúp ích cho bạn. Cảm ơn bạn đã hoàn thành khóa học cho đến cuối cùng.

  • abeb30318님의 프로필 이미지
    abeb30318

    Đánh giá 6

    ∙

    Đánh giá trung bình 5.0

    5

    61% đã tham gia

    Tôi đang lắng nghe rất kỹ, tuy là ý kiến chủ quan nhưng đây là bài giảng dễ hiểu nhất đối với tôi.

    • dingcodingco
      Giảng viên

      Cảm ơn bạn rất nhiều vì đã chia sẻ rằng bạn thấy dễ hiểu. Tôi đã cố gắng truyền đạt các khái niệm cốt lõi của JPA một cách trực quan nhất có thể, và tôi cảm thấy rất vui khi nỗ lực đó đã chạm đến được bạn.

  • trixiel님의 프로필 이미지
    trixiel

    Đánh giá 7

    ∙

    Đánh giá trung bình 5.0

    5

    100% đã tham gia

    Trước đây tôi chỉ mới dừng lại ở việc gắn các annotation mà chưa hiểu rõ cơ chế hoạt động bên trong, nhưng thông qua việc đi sâu vào mã kiểm thử và triển khai thực tế, tôi đã hiểu rõ hơn về cách nó hoạt động một cách logic và lý do tại sao chúng ta sử dụng JPA!

    • dingcodingco
      Giảng viên

      Tôi rất vui vì bạn đã hiểu được nguyên lý hoạt động đằng sau các annotation. Cảm ơn bạn vì phần nội dung được xây dựng để bạn có thể trực tiếp cảm nhận 'Tại sao lại là JPA' khi đi qua lại giữa mã kiểm thử và triển khai thực tế đã được truyền tải tốt!

  • techietaek님의 프로필 이미지
    techietaek

    Đánh giá 6

    ∙

    Đánh giá trung bình 5.0

    5

    100% đã tham gia

    Đây là khóa học được thiết kế để bạn có thể giới thiệu và thực hành mọi thứ từ cơ bản đến mã nguồn cấp độ thực tế của JPA. Không chỉ dừng lại ở cách sử dụng đơn thuần, khóa học còn giúp tôi nắm vững nền tảng cơ bản chắc chắn hơn thông qua việc học hỏi các nguyên lý hoạt động bên trong! Cảm ơn vì một bài giảng tuyệt vời!

    • dingcodingco
      Giảng viên

      Tôi đã đặc biệt chú trọng vào phần đi sâu vào nguyên lý hoạt động bên trong vì nghĩ rằng nó sẽ thực sự giúp ích trong công việc thực tế, rất cảm ơn bạn đã đánh giá cao phần đó. Chúc mừng bạn đã hoàn thành khóa học!

Khóa học khác của dingcodingco

Hãy khám phá các khóa học khác của giảng viên!

Khóa học tương tự

Khám phá các khóa học khác trong cùng lĩnh vực!

Ưu đãi có thời hạn, kết thúc sau 6 ngày ngày

8.743 ₫

30%

2.063.131 ₫