sql >> Database teknologi >  >> RDS >> PostgreSQL

hvad er @JoinColumn, og hvordan det bruges i Hibernate

En ensrettet tilknytning via en jointabel

@Entity
class Patient {

    @OneToMany
    private Collection<Vehicle> vehicles = new ArrayList<Vehicle>();

}

@Entity
class Vehicle {

}

En tovejs tilknytning via en jointabel

@Entity
class Patient {

    @OneToMany
    private Collection<Vehicle> vehicles = new ArrayList<Vehicle>();

}

@Entity
class Vehicle {

    @ManyToOne(fetch = FetchType.LAZY)
    private Patient patient;

}

En ensrettet tilknytning via en fremmednøgle

@Entity
class Patient {

    @OneToMany
    @JoinColumn
    private Collection<Vehicle> vehicles = new ArrayList<Vehicle>();

}

@Entity
class Vehicle {

}

En tovejsforbindelse via en fremmednøgle

@Entity
class Patient {

    @OneToMany(mappedBy = "patient")
    private Collection<Vehicle> vehicles = new ArrayList<Vehicle>();

}

@Entity
class Vehicle {

    @ManyToOne(fetch = FetchType.LAZY)
    private Patient patient;

}

En tovejsforbindelse via en fremmednøgle med en udenlandsk kolonnenavnspecifikation

@Entity
class Patient {

    @OneToMany(mappedBy = "patient")
    private Collection<Vehicle> vehicles = new ArrayList<Vehicle>();

}

@Entity
class Vehicle {

    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name="patient_id")
    private Patient patient;

}

Dette er det grundlæggende udgangspunkt for at bruge @JoinColumn .

For at bekræfte, at den fremmede nøgle(patient_id i Vehicle tabel) er virkelig kortlagt i patienttabellen, du kan bruge @JoinColumn(nullable = false)

@Entity
class Vehicle {

    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name="patient_id", nullable = false)
    private Patient patient

}


  1. Hvad er den bedste løsning til pooling af databaseforbindelser i python?

  2. Oracle:funktion baseret indeks selektiv unikhed

  3. Konverter NULL-værdier til kolonnens standardværdi ved indsættelse af data i SQLite

  4. Hvordan vælger man fra to tabeller i MySQL, selvom ikke alle rækker i den ene tabel har korrespondenter i den anden?