Ihr JPA @Id
muss nicht mit der/den Datenbank-PK-Spalte(n) übereinstimmen. Solange es einzigartig ist, ist das alles, was zählt.
Von https://en.wikibooks.org/wiki/Java_Persistence/Identity_and_Sequencing :
Da Ihre Auto-Increment-Spalte garantiert eindeutig ist, verwenden Sie einfach gender_key als Ihren @ID
und Zuordnungs-ID als normale Spalte.
@Entity
@Table(name = "employee")
public class employee {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int genderKey;
@Column
private int id;
}
Um ehrlich zu sein, würde ich Ihr Schema jedoch verwirrend finden.
Ich würde auch vorschlagen, Folgendes zu lesen:
https://www.javatpoint.com/java-naming-conventions