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

JPA oder Hibernate, um einen Spaltenwert (kein Primärschlüssel) zu generieren, der nicht bei 1 beginnt

Der @GeneratedValue funktioniert nur für Bezeichner und kann daher nicht verwendet werden. Wenn Sie MySQL verwenden, sind Sie ziemlich eingeschränkt, da Datenbanksequenzen nicht unterstützt werden.

InnoDB nicht t unterstützt mehrere AUTO_INCREMENT-Spalten und wenn Ihr Tabellen-PK AUTO_INCREMENTED ist, dann haben Sie zwei Möglichkeiten:

  1. Entscheiden Sie sich für eine separate Tabelle, die sich wie ein Sequenzgenerator verhält, die Lösung, von der Sie bereits sagten, dass Sie nicht glücklich darüber sind.

  2. Verwenden Sie einen INSERT TRIGGER um diese Spalte zu erhöhen.