Su JPA @Id
no necesita coincidir con la(s) columna(s) PK de la base de datos. Mientras sea único, eso es todo lo que importa.
De https://en.wikibooks.org/wiki/Java_Persistence/Identity_and_Sequencing :
Como se garantiza que su columna de incremento automático es única, simplemente use gender_key como su @ID
y la identificación del mapa como una columna normal.
@Entity
@Table(name = "employee")
public class employee {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int genderKey;
@Column
private int id;
}
Sin embargo, para ser honesto, encontraría tu esquema confuso.
También sugeriría leer lo siguiente:
https://www.javatpoint.com/java-naming-conventions