Я много читал о @JoinColumn, но я до сих пор не понимаю его.
Таблица пациентов
CREATE TABLE patient (
patient_id BIGINT NOT NULL,
first_name VARCHAR(255) NOT NULL,
last_name VARCHAR(255) NOT NULL,
PRIMARY KEY(patient_id));
Таблица автомобилей
CREATE TABLE vehicles (
patient_id BIGINT NOT NULL,
vehicle_id BIGINT NOT NULL,
vehicle_manufacturer VARCHAR(255),
PRIMARY KEY (vehicle_id),
CONSTRAINT patienthasmanyvehicle FOREIGN KEY(patient_id) REFERENCES patient(patient_id));
Класс пациента
@OneToMany(mappedBy = "patient")
private Collection<Vehicle> patientVehicles = new ArrayList<Vehicle>();
Класс автомобиля
@ManyToOne
@JoinColumn(name="patient_id")
private Patient patient;
Я смущен тем, как часть класса Vehicle, какова связь между
Vehicle Class ---- Entity
@JoinColumn(name="patient_id") ---- annotation
private Patient patient ----field
Говорит ли это; Объект имеет Внешний ключ для Объект пациента с именем patient_id. Добавьте patient_id в качестве столбца в таблице Vehicle Entity
Должен ли параметр имени JoinColumn всегда быть внешним ключом или основным ключом?
Я читал это, но я все еще путаюсь. JPA JoinColumn vs mappedBy