sql >> Database >  >> RDS >> Mysql

Geef handmatig de waarde van een primaire sleutel op in de kolom JPA @GeneratedValue

Dit werkt met eclipselink. Het zal een aparte tabel maken voor de reeks, maar dat zou geen probleem moeten zijn.

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

GenerationType.AUTO kiest de ideale generatiestrategie. Aangezien het veld is gespecificeerd als invoegbaar en bijwerkbaar, wordt een TABLE-generatiestrategie gebruikt. Dit betekent dat eclipselink een andere tabel met de huidige reekswaarde genereert en de reeks zelf genereert in plaats van deze naar de database te delegeren. Aangezien de kolom invoegbaar is verklaard, zal eclipselink, als id null is wanneer deze aanhoudt, de id genereren. Anders wordt de bestaande id gebruikt.



  1. DATEADD-equivalent in PostgreSQL

  2. Waarom behandelt de SqlParameter naam/waarde-constructor 0 als null?

  3. verbinding maken met MySQL vanaf de opdrachtregel

  4. Kerndumpbestand en foutopsporingscodes toevoegen in het uitvoerbare programma voor Oracle Apps