Votre JPA @Id
n'a pas besoin de correspondre aux colonnes PK de la base de données. Tant qu'il est unique, c'est tout ce qui compte.
Depuis https://en.wikibooks.org/wiki/Java_Persistence/Identity_and_Sequencing :
Comme votre colonne d'auto-incrémentation est garantie d'être unique, utilisez simplement gender_key comme @ID
et map id comme une colonne normale.
@Entity
@Table(name = "employee")
public class employee {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int genderKey;
@Column
private int id;
}
Pour être honnête, je trouverais votre schéma déroutant cependant.
Je suggérerais également de lire ce qui suit :
https://www.javatpoint.com/java-naming-conventions