Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Spring data JPA tylko jeden klucz złożony to problem z automatyczną inkrementacją

Twój JPA @Id nie musi odpowiadać kolumnom PK bazy danych. Dopóki jest wyjątkowy, tylko to się liczy.

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

Ponieważ kolumna z automatycznym przyrostem gwarantuje, że jest unikalna, po prostu użyj gender_key jako swojego @ID i identyfikator mapy jako normalną kolumnę.

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

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

   @Column
   private int id;

}

Szczerze mówiąc, uważam, że Twój schemat jest mylący.

Proponuję również przeczytać następujące informacje:

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



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Ponowny problem z wydajnością tabeli MySQL MyISAM

  2. Konwertuj skrypt MySQL na SQL Server

  3. BŁĄD 2002 (HY000):Nie można połączyć się z lokalnym serwerem MySQL przez gniazdo „/tmp/mysql.sock”

  4. Jak mogę zasymulować zmienną tablicową w MySQL?

  5. MySQL łączy dwie tabele, znajdź maksymalną liczbę i uporządkuj według