что такое @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

Ответы на вопрос(4)

Ваш ответ на вопрос