Mysql
 sql >> Base de données >  >> RDS >> Mysql

Spring data JPA une seule clé composite est un problème d'incrémentation automatique

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