永続性のためにMySQLとJPAを使用してJava EEアプリケーションを設計し始めたので、データベース設計のインパクトを疑うことがあります。JPAを使用した関係性と参照整合性制約
だから私は私のデータベーステーブル例えば定義された:私はいくつかのチュートリアル以下の関係を定義したが、外部キー制約は、データベーステーブルのためにあまりにも定義する必要があれば、私は理解できないか、JPAを使用して彼の関係
と従業員と部署をなどせずに、それを左:
CREATE TABLE `thejavageek`.`employee` (
`idemployee` INT NOT NULL,
`firstname` VARCHAR(45) NULL,
`lastname` VARCHAR(45) NULL,
# ...
PRIMARY KEY (`idemployee`)
);
とJPAエンティティ:
@Entity
public class Employee{
@Id
@GeneratedValue(strategy= GenerationType.AUTO)
private int eid;
private String ename;
private double salary;
private String deg;
@ManyToOne
private Department department;
public Employee(int eid, String ename, double salary, String deg) {
super();
this.eid = eid;
this.ename = ename;
this.salary = salary;
this.deg = deg;
}
public Employee() {
super();
}
public int getEid() {
return eid;
}
public void setEid(int eid) {
this.eid = eid;
}
public String getEname() {
return ename;
}
public void setEname(String ename) {
this.ename = ename;
}
public double getSalary() {
return salary;
}
public void setSalary(double salary) {
this.salary = salary;
}
public String getDeg() {
return deg;
}
public void setDeg(String deg) {
this.deg = deg;
}
public Department getDepartment() {
return department;
}
public void setDepartment(Department department) {
this.department = department;
}
}
@Entity
public class Department {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private int id;
private String name;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName(){
return name;
}
public void setName(String deptName){
this.name = deptName;
}
}
lefting関係と制約managem JPAへのent?
ありがとうございます!
reply @ naresh-joshiありがとうので、MySQLで外部キーを定義する必要はありません。テーブルを作成するか、プライマリキーを定義するだけですか? – antonio
ORMにすべての作成と管理を委任しますか?あなたは例やリンクを投稿できますか? – antonio
テーブルを作成する必要はありません。空のスキーマを作成して休止状態にするだけで、すべてのことができます。このビデオチュートリアルのシリーズに従ってください。https://www.youtube.com/playlist?list=PL4AFF701184976B25 –