Twój JPA @Id
nie musi odpowiadać kolumnom PK bazy danych. Dopóki jest wyjątkowy, tylko to się liczy.
Od https://en.wikibooks.org/wiki/Java_Persistence/Identity_and_Sequencing :
Ponieważ kolumna z automatycznym przyrostem gwarantuje, że jest unikalna, po prostu użyj gender_key jako swojego @ID
i identyfikator mapy jako normalną kolumnę.
@Entity
@Table(name = "employee")
public class employee {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int genderKey;
@Column
private int id;
}
Szczerze mówiąc, uważam, że Twój schemat jest mylący.
Proponuję również przeczytać następujące informacje:
https://www.javatpoint.com/java-naming-conventions