Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Spring Data JPA nur ein zusammengesetzter Schlüssel wird automatisch inkrementiert

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