Tản mạn về Spring Boot Data JPA Annotations

0 0 0

Người đăng: Johny Bùi

Theo Viblo Asia

Khi làm việc với cơ sở dữ liệu (Database - DB) trong lĩnh vực công nghệ phần mềm hiện nay, chúng ta thường hay tiếp cận theo hướng Code First (Từ code sinh ra cơ sở dữ liệu, so sánh với Data first).

Như các bạn đã biết (hoặc chưa biết), trong một cơ sở dữ liệu có những ràng buộc toàn vẹn và các loại ràng buộc khác. Trong Spring Data JPA có một thuật ngữ là Annotation (đánh dấu) để chúng ta gắn những ràng buộc đó lên các thuộc tính (properties).

Bài viết này sẽ giới thiệu cho bạn một số annotation thường gặp khi làm việc với Spring Boot.

1. One To One

Dùng để đánh dấu quan hệ tham chiếu 1-1 giữa một khoá ngoại ở table này và khoá chính ở table mà nó tham chiếu.

Ví dụ bảng User có thuộc tính userDetailId tham chiếu đến thuộc tính id trong bảng UserDetail. Một user có 1 userDetail duy nhất và ngược lại. Vì thế quan hệ này là 1-1.

Ở table chứa khoá chính (UserDetail), ta cài đặt như sau:

@OneToOne()
@JoinColumn()
private User user;

Còn ở table chứa khoá ngoại ta cài đặt như sau:

 @OneToOne( mappedBy = "user" cascade = "EAGER" )
private UserDetail userDetailId;

Để ý sẽ thấy, thuộc tính mappedBy được đề cập trong chi tiết của @OneToOne sẽ nằm ở table chứa thuộc tính cần tham chiếu, và annotation @JoinColumn sẽ được đặt ở table được tham chiếu.

2. OneToMany và ManyToOne

Được dùng để đánh dấu ở bên 1 và bên n trong mối quan hệ 1-n.

3. ManyToMany và ManyToOne

Dùng để đánh dấu bên tham chiếu và bên được tham chiếu trong quan hệ n-n.

Bình luận

Bài viết tương tự

- vừa được xem lúc

Tổng hợp các bài hướng dẫn về Design Pattern - 23 mẫu cơ bản của GoF

Link bài viết gốc: https://gpcoder.com/4164-gioi-thieu-design-patterns/. Design Patterns là gì. Design Patterns không phải là ngôn ngữ cụ thể nào cả.

0 0 317

- vừa được xem lúc

Học Spring Boot bắt đầu từ đâu?

1. Giới thiệu Spring Boot. 1.1.

0 0 289

- vừa được xem lúc

Cần chuẩn bị gì để bắt đầu học Java

Cần chuẩn bị những gì để bắt đầu lập trình Java. 1.1. Cài JDK hay JRE.

0 0 59

- vừa được xem lúc

Sử dụng ModelMapper trong Spring Boot

Bài hôm nay sẽ là cách sử dụng thư viện ModelMapper để mapping qua lại giữa các object trong Spring nhé. Trang chủ của ModelMapper đây http://modelmapper.org/, đọc rất dễ hiểu dành cho các bạn muốn tìm hiểu sâu hơn. 1.

0 0 201

- vừa được xem lúc

[Java] 1 vài tip nhỏ khi sử dụng String hoặc Collection part 1

. Hello các bạn, hôm nay mình sẽ chia sẻ về mẹo check String null hay full space một cách tiện lợi. Mình sẽ sử dụng thư viện Lớp StringUtils download file jar để import vào thư viện tại (link).

0 0 80

- vừa được xem lúc

Deep Learning với Java - Tại sao không?

Muốn tìm hiểu về Machine Learning / Deep Learning nhưng với background là Java thì sẽ như thế nào và bắt đầu từ đâu? Để tìm được câu trả lời, hãy đọc bài viết này - có thể kỹ năng Java vốn có sẽ giúp bạn có những chuyến phiêu lưu thú vị. DJL là tên viết tắt của Deep Java Library - một thư viện mã ng

0 0 154