PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

apa itu @JoinColumn dan bagaimana menggunakannya di Hibernate

Asosiasi searah melalui tabel gabungan

@Entity
class Patient {

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

}

@Entity
class Vehicle {

}

Asosiasi dua arah melalui tabel gabungan

@Entity
class Patient {

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

}

@Entity
class Vehicle {

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

}

Asosiasi searah melalui kunci asing

@Entity
class Patient {

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

}

@Entity
class Vehicle {

}

Asosiasi dua arah melalui kunci asing

@Entity
class Patient {

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

}

@Entity
class Vehicle {

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

}

Asosiasi dua arah melalui kunci asing dengan spesifikasi nama kolom asing

@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;

}

Ini adalah titik awal dasar menggunakan @JoinColumn .

Untuk memverifikasi bahwa kunci asing(patient_id di Vehicle table) benar-benar dipetakan di tabel pasien, Anda dapat menggunakan @JoinColumn(nullable = false)

@Entity
class Vehicle {

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

}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mengapa urutan id SQL tidak sinkron (khususnya menggunakan Postgres)?

  2. Postgresql Stempel waktu saat ini pada Pembaruan

  3. Memperbaiki Postgresql setelah memutakhirkan ke OSX 10.7 Lion

  4. Bagaimana saya (atau dapatkah saya) SELECT DISTINCT pada beberapa kolom?

  5. Pencocokan partisi tingkat lanjut untuk penggabungan partisi