Я начал разрабатывать свое приложение Java EE с использованием MySQL и JPA для сохранения, поэтому у меня есть сомнение в том, как имплантировать его для проектирования базы данных.Ограничение связей и ссылочной целостности с использованием 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?
благодарит заранее!
спасибо за ответ @ naresh-joshi, так что мне не нужно определять какой-либо внешний ключ в MySQL, только создать таблицу с или без определения первичного ключа? – antonio
и делегировать ORM все создание и управление? можете ли вы отправить пример или ссылку, пожалуйста? – antonio
Вам даже не нужно создавать свои таблицы, просто создать пустую схему, а спящий режим будет делать все, вы можете следовать этой серии видеороликов, чтобы понять ее. Https://www.youtube.com/playlist?list=PL4AFF701184976B25 –