PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

@JoinColumn là gì và nó được sử dụng như thế nào trong Hibernate

Liên kết một chiều qua bảng tham gia

@Entity
class Patient {

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

}

@Entity
class Vehicle {

}

Liên kết hai chiều qua bảng tham gia

@Entity
class Patient {

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

}

@Entity
class Vehicle {

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

}

Liên kết một chiều thông qua khóa ngoại

@Entity
class Patient {

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

}

@Entity
class Vehicle {

}

Liên kết hai chiều thông qua khóa ngoại

@Entity
class Patient {

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

}

@Entity
class Vehicle {

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

}

Liên kết hai chiều thông qua khóa ngoại với đặc điểm kỹ thuật tên cột nước ngoài

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

}

Đây là điểm bắt đầu cơ bản của việc sử dụng @JoinColumn .

Để xác minh rằng khóa ngoại (patient_id trong Vehicle bảng) thực sự được ánh xạ trong bảng bệnh nhân mà bạn có thể sử dụng @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. Khung khả dụng cao PostgreSQL tốt nhất là gì? PAF so với repmgr và Patroni Infographic

  2. Làm cách nào để chuyển đổi một số nguyên thành chuỗi như một phần của truy vấn PostgreSQL?

  3. Các tiện ích mở rộng PostgreSQL yêu thích của tôi - Phần một

  4. Tạo sơ đồ ER trong pgAdmin

  5. Định dạng số với dấu phẩy trong PostgreSQL