で
おかげで、あなたはより良いIDを生成するためにAbstractPersistableを使用したい:
ので、アドレスとAddressTypeにも
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;
}
をPRIMARY_KEYを持っています
2アドレス
POJOで3210
@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-AddressTypeに
@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;
}
あなたはアドレスクラスでのAddressTypeのために同じ代わりにEMP_IDの従業員を、持っているでしょう。しかし、これは従業員と住所のように、これは外部キーが結合テーブルのpkになることが必要だと思います – XtremeBaumer
どのIDEを使用しますか?ほとんどのIDEは、データベーステーブルからEntityクラスを生成するための機能を提供します。テーブル関係はデータベースレベルで定義する必要があり、望ましい結果や出力を確認するには正確でなければなりません。 – user75ponic
あなたのテーブルは理にかなっていません。私はまずそれを修正するだろう。 –