Người ta có thể gán khóa chính cho lớp của nó bằng cách sử dụng chú thích @Id trong JPA. Câu hỏi của tôi là nếu một người không muốn có một khóa được tạo tự động trong các bảng của mình và sử dụng các trường (có thể nhiều hơn một) làm khóa chính.Cách gán một số trường làm khóa chính của thực thể (sử dụng JPA)
Giả sử chúng ta có bảng người có SSN, NATIONALITY và NAME. SSN được định nghĩa là số mà một người được xác định ở quốc gia của mình. Vì vậy, chúng tôi có thể có hai người với cùng một số ở hai quốc gia khác nhau. Khóa chính cho bảng này có thể là SSN + NATIONALITY. Có cách nào để ánh xạ hai trường này bằng JPA và ánh xạ nó tới một đối tượng không? hoặc cách duy nhất để tạo id được tạo tự động và sử dụng chú thích @Id
CREATE TABLE PERSON (
SSN INT,
NATIONALITY VARCHAR,
NAME VARCHAR
)
Cảm ơn phản hồi của bạn @femtoRgon. Tôi để nó cho cộng đồng để quyết định xem nó có trùng lặp hay không. Tuy nhiên, đọc bài báo bạn đã liên kết, tôi đã nhận thấy đó là về việc tạo các tệp DDL thay vì câu hỏi cơ bản về cách chú thích một khóa tổng hợp. – sheidaei