你最好使用AbstractPersistable生成ID:
所以地址和地址類型將有一個primary_key也
1 - 員工
@Entity
@Table(name = "Employee ")
public class Employee extends AbstractPersistable<Long>{
// Employee here have a generated id from AbstractPersistable
private static final long serialVersionUID = 1L;
@Column(name = "emp_Name ")
private String emp_Name ;
@ManyToOne(optional = true)
@JoinColumn(name = "emp_Address")
private Address emp_Address;
}
2-地址
@Entity
@Table(name = "Address")
public class Address extends AbstractPersistable<Long>{
//Address here have a generated id from AbstractPersistable
private static final long serialVersionUID = 1L;
//you can delete this column because you have already the ManyToOne in Employee
@ManyToOne(optional = true)
@JoinColumn(name = "emp_id")
private Employee emp_id;
//*****************
@Column(name = "addres_type")
private String addres_type;
@ManyToOne(optional = true)
@JoinColumn(name = "Type_id")
private AddressType Type_id ;
}
3地址類型
@Entity
@Table(name = "AddressType")
public class AddressType extends AbstractPersistable<Long>{
//AddressType here have a generated id from AbstractPersistable
private static final long serialVersionUID = 1L;
@Column(name = "Type")
private String Type;
@Column(name = "Desc")
private String Desc;
}
在POJO
你會在地址類僱員,而不是EMP_ID,同爲地址類型。但我認爲這需要外鍵成爲加入表的PK,就像員工和地址 – XtremeBaumer
您使用哪種IDE?大多數IDE提供了從數據庫表中生成實體類的功能,您的表關係應該在數據庫級別定義,並且它應該是準確的,以便查看所需的結果或輸出。 – user75ponic
你的表沒有任何意義。我會先解決。 –