Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Spring data JPA apenas uma chave composta é um problema de incremento automático


Seu JPA @Id não precisa corresponder à(s) coluna(s) PK do banco de dados. Desde que seja único, isso é tudo o que importa.

De https://en.wikibooks.org/wiki/Java_Persistence/Identity_and_Sequencing :

Como sua coluna de incremento automático é garantida como única, basta usar gender_key como seu @ID e map id como uma coluna normal.
@Entity
@Table(name = "employee")
public class employee {

   @Id
   @GeneratedValue(strategy = GenerationType.IDENTITY) 
   private int genderKey;

   @Column
   private int id;

}

Para ser honesto, eu acharia seu esquema confuso no entanto.

Sugiro também a leitura do seguinte:

https://www.javatpoint.com/java-naming-conventions