본 강의는 자바 백엔드 개발 실전 코스를 시작하는 첫 번째 강의입니다. 코스 전체 구성이 궁금하시다면, 스프링 부트와 JPA 실무 완전 정복 로드맵을 먼저 확인해주세요. (링크)
자바 ORM 표준 JPA 프로그래밍 - 기본편
객체를 관계형 데이터베이스에 저장하려면 개발자는 많은 코드와 SQL을 작성해야 합니다. 예를 들어 객체를 SQL로 변환하는 단순한 일부터, 객체의 상속 구조를 테이블에 저장하는 복잡한 일까지, 개발자는 객체와 데이터베이스 사이에서 무수한 매핑 코드와 SQL을 직접 작성해야 합니다.
자바 ORM 표준인 JPA는 SQL 작성 없이 객체를 데이터베이스에 직접 저장할 수 있게 도와주고, 객체와 관계형 데이터베이스의 차이도 중간에서 해결합니다.
저는 지금까지 다양한 실무 프로젝트에 JPA를 도입했습니다. 작게는 단순한 웹 서비스부터 크게는 조 단위의 거래 금액을 처리하는 주문 - 결제 - 정산 시스템까지 JPA로 직접 설계하고 개발했습니다. JPA를 처음 실무에 도입할 때는 좌충우돌 하기도 했지만 개발 생산성과 유지보수가 확연히 좋아졌고, 남는 시간에 코드 품질과 테스트에 더 많은 시간을 쏟을 수 있었습니다. 무엇보다 JPA를 사용해본 동료들은 이전으로 돌아가고 싶어하지 않았습니다.
하지만 JPA에 관한 국내 자료가 부족했고, 대부분이 원서여서 어려운 점이 많았습니다. 그래서 2015년에 직접 자바 ORM 표준 JPA 프로그래밍 책을 쓰고, 그로부터 4년이 흘렀습니다.
그동안 네이버, 카카오 같은 인터넷 비즈니스 회사부터 우아한형제들, 11번가 같은 e커머스 회사까지, JPA를 이미 사용중이거나 도입하려는 많은 회사에 강연을 했습니다. 강연을 통해 책으로는 이해가 어려웠던 부분이 직접 강의로 들으니 쉽게 이해된다는 개발자 분들이 많았습니다. 그래서 온라인 강의를 만들게 되었습니다.
기초가 탄탄한 JPA 기본편
앞으로 진행할 JPA 강의는 크게 기본편과 활용편으로 나뉘어져 있습니다. 이 강의는 기본편입니다.
강의 목표
JPA의 내부 동작 방식을 이해하지 못하고, 단순히 편리하다는 이유로 JPA를 도입하는 분들을 종종 보았습니다. 실무에서는 정말 다양하고 복잡한 이슈가 발생합니다. 이때 근본 원리를 모르면 많은 시간과 비용을 낭비하게 됩니다. 그리고 JPA로 객체와 관계형 데이터베이스를 설계하고 매핑할 때, 어떤 방법이 좋은 방법인지 모르면 조금만 복잡해져도 방황하게 됩니다.
따라서 JPA를 잘 사용하려면 다음 두 가지를 깊이있게 이해해야 합니다.
JPA의 내부 동작 방식
객체와 관계형 데이터베이스 테이블을 올바르게 매핑하는 방법
기본편은 이 두 가지에 초점을 맞추었습니다. 기초를 탄탄하게 해서 실무에서 JPA를 사용하더라도 두려움 없이 사용할 수 있게 해드리는 것이 이 강의의 목표입니다.
Trong lĩnh vực của tôi, tôi thực sự đang phát triển với JPA.
Từ quan điểm đó, đây là một bài giảng rất hữu ích trong việc hiểu cách thức hoạt động của đoạn mã bạn đang viết.
Sau đây là những ưu điểm của khóa học này mà tôi cảm nhận được.
Tôi sẽ để đây là tài liệu tham khảo nếu bạn đang nghĩ đến việc tham gia khóa học.
1) Bản trình bày đã được chuẩn bị kỹ lưỡng nên rất thú vị để tham khảo và xem qua.
- Ngay cả khi chưa có sách, bạn vẫn có thể tải tài liệu thuyết trình đã chuẩn bị sẵn.
2) Ngay cả khi bạn không sử dụng Spring Data JPA từ đầu mà bắt đầu từ một ứng dụng Java thuần túy và sử dụng Spring Boot mới nhất, nó sẽ giúp bạn nâng cao hiểu biết về JPA và ORM.
3) Là một người đã làm giảng viên Java nhiều năm, lời giải thích thực sự rất dễ hiểu.
Nếu có những người xung quanh bạn đang nghĩ về JPA, tôi sẽ không ngần ngại giới thiệu khóa học này.
Vua K-Gavin
Một người hướng dẫn phù hợp với công cụ sửa đổi này, một người hướng dẫn có phương ngữ quyến rũ nhất ở Hàn Quốc và một người hướng dẫn mà tôi muốn thêm làm người phụ thuộc cho dự án của mình.
Dành cho những ai đang lo lắng về việc trả tiền cho các bài giảng
1) Đây là một bài giảng tuyệt vời. Trên hết là “Ồ, phần này hơi khó nhỉ?” Ngay khi bạn suy nghĩ, nó sẽ giải thích một cách dễ hiểu, ngay cả đối với người mới bắt đầu.
Có người nói 'hả? Nếu đó là một bài giảng, chẳng phải nó nên như vậy sao?' Bạn có thể nghĩ vậy, nhưng đây là một kỹ năng mà ngay cả những nhà giáo dục đã qua đào tạo cũng không thể dễ dàng sở hữu được. Điều này là không thể trừ khi bạn có nhiều bí quyết giảng dạy và kỹ năng giao tiếp cao với học sinh.
2) Giọng điệu của bài giảng rất hay. Thực tế, những bài giảng đọc theo kịch bản cứng nhắc, thiếu cảm xúc có thể khiến người nghe cảm thấy nhàm chán. Nhưng bài giảng này thì khác. Khi phương ngữ thỉnh thoảng trôi qua và giọng điệu của người hướng dẫn trở nên cao hơn khi anh ấy hòa làm một với JPA, mọi người nghe bài giảng cũng có cảm giác giống như K-Gavin King ở một điểm nào đó.
3) Phản hồi về các câu hỏi là chính xác và nhanh chóng. Nếu bạn có bất kỳ câu hỏi nào, nếu bạn chỉ định chính xác những gì bạn tò mò, chúng tôi sẽ giải thích càng chi tiết càng tốt.
Thực ra ba bài ôn bài này là về bài giảng, nhưng tôi cũng có rất nhiều điều muốn nói về sách. Theo quan điểm cá nhân của tôi, khi viết sách, tôi muốn làm cho người đọc dễ đọc, dễ hiểu và hơn hết là
Tôi nghĩ đã có rất nhiều nỗ lực để khiến mọi người suy nghĩ sâu sắc về JPA.
Nếu bạn mua sách và nghe giảng, tôi nghĩ đọc sách trước sẽ hiệu quả hơn, còn nếu thực sự khó và khó hiểu thì hãy tìm phần bài giảng bạn muốn và xem.
Đây là một bài giảng giúp bạn suy nghĩ.
Cảm ơn bạn rất nhiều, Seokmin. Bài ôn tập dài khiến tôi rơi nước mắtㅠㅠ
Hơn 10 năm trước, có rất ít nhà phát triển sử dụng JPA ở Hàn Quốc, nên tôi nhớ mình đã rất đam mê quảng bá công nghệ tốt này. Tại sao chỉ có JPA được sử dụng ở nước ngoài mà không phải trong nước?
Sau khi nghĩ như vậy, cuối cùng tôi lại nghĩ rằng ngay cả khi tôi muốn sử dụng công nghệ này ở Hàn Quốc thì cũng không có sách hay tài liệu giáo dục phù hợp nên tôi bắt đầu viết một cuốn sách JPA từ bảy năm trước.
Tôi đã dành tổng cộng khoảng 3 năm để phổ biến công nghệ JPA, trong đó có 2 năm viết sách về JPA và 1 năm tạo khóa giảng Infron JPA.
Hiện nay, rất nhiều công ty đang sử dụng JPA làm mặc định, vì vậy những nỗ lực hồi đó là rất đáng giá.
Tôi rất vui vì Seokmin đã ghi nhận nỗ lực của tôi. ㅠㅠ
Sau khi học JPA và đọc sách, đầu tiên tôi tập trung vào những nội dung mà tôi thấy khó. Tôi rất thích những lời giải thích và ví dụ (code) sinh động, dễ hiểu, như thể tôi đang được dạy kèm 1:1 ngay bên cạnh. Cảm ơn bạn rất nhiều vì đã cung cấp câu trả lời và lời khuyên rõ ràng mà không có bất kỳ sự mơ hồ nào và trên hết là đã cung cấp nội dung hay phản ánh trải nghiệm thực tế của bạn. Chúng ta sẽ tiếp tục học trong tương lai. Cảm ơn
Trong lúc bận rộn hàng ngày với công việc, tôi đã nghĩ đến việc đến học tại một học viện, nhưng đó là thời điểm tốt vì có lớp JPA diễn ra.
Tôi đã từng nghiên cứu cuốn sách JPA trước đây và có những điều tôi tò mò cũng như những vấn đề tôi lo lắng và không thể giải quyết khi áp dụng nó vào công việc của mình. Điều này có đúng không? Có đúng không? Những phần tôi đã áp dụng trong khi vẫn còn hoài nghi... Nhưng! Tất cả những câu hỏi này đã được giải đáp trong bài giảng này. ㅠㅠ(Ấn tượng)
đặc biệt! Vì nó cũng hiển thị mã hóa trực tiếp nên tôi nghĩ sẽ có tác động lớn hơn đối với nhiều người khi áp dụng JPA trong lĩnh vực của họ.
Bây giờ, bất kể công ty đang thực hiện dự án mới nào! Tôi đang sử dụng JPA.
Vì công ty hỗ trợ học phí nên tôi cố gắng khuyến khích các thành viên trong nhóm của mình tham gia các lớp học này. Cảm ơn bạn rất nhiều ㅠㅠ
Cảm ơn bạn, Joohyun Lee.
Hoàn toàn dành cho các dự án mới! Bạn đang áp dụng JPA. Trên thực tế, tôi luôn áp dụng nó khi sử dụng cơ sở dữ liệu quan hệ.
Nếu bạn có thắc mắc gì, xin vui lòng hỏi bất cứ lúc nào ^^
Tôi đoán tôi không phải là loại người hoang dã, mà là loại học giả ^^
Mình đã bỏ qua phần hữu ích, nhưng sau khi nghe được khoảng 30% thì mình nản quá nên cuối cùng mới nghe được phần cơ bản ^^. Tôi cảm thấy mình thăng tiến hơn sau khi nghe các bài giảng của Younghan Kim hàng tuần. Tôi đặc biệt thích phần nó mạnh dạn sắp xếp những gì cần sử dụng trong thực tế và những gì không cần thiết. Bây giờ tôi cảm thấy mình có thể tự tin chuyển sang phần ứng tuyển. Cuốn sách cơ bản về JPA ở Hàn Quốc đã được tuyên bố rõ ràng là khóa học và sách của Kim Young-han ^^ Cảm ơn bạn.
Haha, bạn đã có một quyết định đúng đắn. Thực ra tôi là kiểu học giả, nhưng gần đây tôi đã cố gắng rất nhiều để trở thành kiểu người hoang dã ^^
Vì JPA đã phát triển trong một thời gian rất dài và hỗ trợ rất nhiều trường hợp khác nhau nên không có giới hạn về số lượng học nên tôi đã gặp khó khăn lúc đầu. Nhưng khi tôi thực sự phát triển nó trong thực tế, Những điều quan trọng đã được xác định rõ ràng ^^ Tôi kết hợp càng nhiều điều đó vào bài giảng càng tốt. Cuốn sách có phạm vi rộng hơn vì nó bao gồm toàn bộ JPA.
Nhìn thấy bạn làm việc chăm chỉ, tôi cảm thấy hài lòng. Haha, chiến đấu đi, Clear Fairy!