sql >> Databáze >  >> RDS >> Mysql

Ručně zadejte hodnotu primárního klíče ve sloupci JPA @GeneratedValue

Toto funguje s Eclipselink. Vytvoří samostatnou tabulku pro sekvenci, ale to by neměl být problém.

@Id
@GeneratedValue(strategy=GenerationType.AUTO)
@Column(name="id", insertable=true, updatable=true, unique=true, nullable=false)
private Long id;

GenerationType.AUTO vybere ideální strategii generace. Protože je pole specifikováno jako vložitelné a aktualizovatelné, bude použita strategie generování TABULKY. To znamená, že eclipselink vygeneruje další tabulku obsahující aktuální hodnotu sekvence a vygeneruje samotnou sekvenci místo toho, aby ji delegoval do databáze. Vzhledem k tomu, že sloupec je deklarován jako vložitelný, pokud je id při zachování null, eclipselink vygeneruje id. V opačném případě bude použito stávající ID.



  1. Dynamický SQL – EXEC(@SQL) versus EXEC SP_EXECUTESQL(@SQL)

  2. MySql vyberte formát, kulatý sloupec

  3. Ukládání hodnot Lat Lng v MySQL pomocí Spatial Point Type

  4. Jak změním datový typ pro sloupec v MySQL?