что такое @JoinColumn и как он используется в Hibernate
Я много читал о @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 Class ---- Entity
@JoinColumn(name="patient_id") ---- annotation
private Patient patient ----field
Это говорит;Транспортное средство имеетИностранный ключ вТерпеливое лицо названныйpatient_id, Добавитьpatient_id как столбец вТаблица транспортных средств
У параметра name в JoinColumn всегда должен бытьВнешний ключ или первичный ключ?
Я читал это, но я все еще в замешательстве.JPA JoinColumn против mappedBy