私たちは、人が 1 台の車しか持てない世界に住んでいるとしましょう (下手な例で申し訳ありません)。
UserDetails
このクラスがあるとしましょう
public class UserDetails {
@Id
@GeneratedValue
@Column(name = "USER_ID")
private int id;
@Column(name = "USER_NAME")
private String name;
@OneToOne
private Vehicle vehicle;
public Vehicle getVehicle() {
return vehicle;
}
public void setVehicle(Vehicle vehicle) {
this.vehicle = vehicle;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
}
そして、これは私Vehicle
のクラスです
@Entity
public class Vehicle {
@Id
@GeneratedValue
private long vechile_id;
private String vehicleName;
public long getVechile_id() {
return vechile_id;
}
public void setVechile_id(long vechile_id) {
this.vechile_id = vechile_id;
}
public String getVehicleName() {
return vehicleName;
}
public void setVehicleName(String vehicleName) {
this.vehicleName = vehicleName;
}
}
データベースに保存すると正常に動作しますが、車両のテーブルを削除しようとすると、このエラーがワークベンチに表示されました
注記UserDetails
とVehicle
テーブルの両方に 1 つのエントリしかないことに注意してください。
ERROR 1217: Cannot delete or update a parent row: a foreign key constraint fails
SQL Statement:
drop table `hibernate`.`vehicle`
テーブルをドロップできないのはなぜですか? 最初に UserDetails テーブルを削除する必要がありますか?