inflearn logo

Trong thực tế! Phát triển ứng dụng quản lý thư viện với Kotlin và Spring Boot (tái cấu trúc dự án Java)

Refactor một ứng dụng web được xây dựng bằng Java + Spring Boot sang Kotlin + Spring Boot và triển khai các yêu cầu bổ sung. Trong khóa học này, bạn sẽ không chỉ sử dụng Junit5, SQL, JPA và Querydsl mà còn đề cập đến những ưu và nhược điểm của các phương pháp khác nhau từ góc độ thiết kế và triển khai.

(5.0) 156 đánh giá

2,281 học viên

Độ khó Cơ bản

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

Kotlin
Kotlin
Spring Boot
Spring Boot
Java
Java
Refactoring
Refactoring
Spring
Spring
Kotlin
Kotlin
Spring Boot
Spring Boot
Java
Java
Refactoring
Refactoring
Spring
Spring

Tin tức

1 bài viết

  • lannstark님의 프로필 이미지

    Xin chào! Có những điều bổ sung cần cân nhắc khi sử dụng Kotlin và JPA cùng nhau.

    Vấn đề là bạn cần thêm đoạn script sau vào build.gradle!

     

    plugins { id "org.jetbrains.kotlin.plugin.allopen" version "1.6.21" } // plugins, dependencies와 같은 Level (즉 build.gradle 최상단) allOpen { annotation("javax.persistence.Entity") annotation("javax.persistence.MappedSuperclass") annotation("javax.persistence.Embeddable") }

     

    Đây là lý do tại sao!

    Như bạn đã biết, về cơ bản, Kotlin tạo ra các lớp cuối cùng và các hàm cuối cùng!! (Nói cách khác, tính kế thừa và ghi đè bị chặn!)

    Tuy nhiên, để tận dụng tối đa Proxy Lazy Fetching khi sử dụng JPA (chúng ta đã nói về Lazy Fetching trong Bài 27!), lớp của bạn phải có khả năng kế thừa!! Từ những gì tôi đã kiểm tra, Tìm nạp lười biếng hoạt động cho @OneToMany, nhưng nó không hoạt động cho @ManyToOne ngay cả khi tùy chọn Tìm nạp lười biếng được cung cấp rõ ràng.

     

    Vì vậy, thông qua hàm mở toàn bộ, các lớp @Entity phải được xử lý để giữ cho lớp đó luôn mở ngay cả khi được dịch ngược và tập lệnh trên thực hiện vai trò đó.

    Vì @ManyToOne Lazy Fetching không được sử dụng trong bài giảng này nên plugin không được đề cập trong bài giảng. Từ giờ trở đi, chúng ta sẽ có thể thiết kế kỹ lưỡng hơn mà không bỏ sót bất kỳ chi tiết nào. 🙇 Trong các dự án thực tế, bạn nên đảm bảo đặt cài đặt plugin!! Cảm ơn!! 🙏

     

     

    (Một bài viết có nội dung tương tự cũng được đăng tải trong <Bài giảng 14. 3 điều cần nói khi sử dụng chung Kotlin và JPA>!)

     

    0

1.607.588 ₫