sql >> Base de Datos >  >> RDS >> Mysql

Spring data JPA solo una clave compuesta es un problema de incremento automático

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