Vaše JPA @Id
nemusí odpovídat sloupcům databáze PK. Dokud je jedinečný, pak je to jediné, na čem záleží.
Z https://en.wikibooks.org/wiki/Java_Persistence/Identity_and_Sequencing :
Protože je zaručeno, že sloupec s automatickým přírůstkem bude jedinečný, stačí jako @ID
použít gender_key a id mapy jako normální sloupec.
@Entity
@Table(name = "employee")
public class employee {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int genderKey;
@Column
private int id;
}
Abych byl upřímný, vaše schéma by mi však připadalo matoucí.
Doporučuji také přečíst si následující:
https://www.javatpoint.com/java-naming-conventions