vous feriez mieux d'utiliser AbstractPersistable pour générer l'ID:
si l'adresse et AddressType aura un primary_key aussi
1 employé
@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-adresse
@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;
}
dans POJO vous auriez en classe adresse un employé au lieu de emp_id, même pour addresstype. mais je pense que cela nécessite la clé étrangère pour être le pk de la table de jointure, tout comme pour l'employé et l'adresse – XtremeBaumer
Quel IDE utilisez-vous? La plupart des EDI fournissent la fonctionnalité pour générer la classe Entity à partir des tables de base de données, votre relation de table doit être définie au niveau de la base de données et elle doit être précise afin de voir les résultats ou la sortie souhaités. – user75ponic
Vos tableaux n'ont aucun sens. Je réparerais ça en premier. –