sql >> Database >  >> RDS >> Mysql

Spring data JPA slechts één samengestelde sleutel is automatisch verhoogd probleem

Uw JPA @Id hoeft niet overeen te komen met de PK-kolom(men) van de database. Zolang het uniek is, is dat het enige dat telt.

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

Aangezien uw kolom voor automatisch ophogen gegarandeerd uniek is, gebruikt u gewoon gender_key als uw @ID en kaart-ID als een normale kolom.

@Entity
@Table(name = "employee")
public class employee {

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

   @Column
   private int id;

}

Om eerlijk te zijn zou ik je schema echter verwarrend vinden.

Ik raad u ook aan het volgende te lezen:

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



  1. mysql2 gem gecompileerd voor verkeerde mysql-clientbibliotheek

  2. Hoe Typeof() werkt in SQLite

  3. OperationalError:(2002, kan geen verbinding maken met lokale MySQL-server via socket '/var/run/mysqld/mysqld.sock' (2))

  4. MySQL:Hoe kan ik de tijdstempel van de laatste invoeging in de database krijgen?