Jeg har for nylig løst dette problem for mit projekt. Jeg bruger den forbedrede sekvensgenerator (som er standard for sekvens-stil generatorer) og indstiller prefer_sequence_per_entity
parameter til true
.
Indholdet af min package-info.java
:
@GenericGenerator(
name = "optimized-sequence",
strategy = "enhanced-sequence",
parameters = {
@Parameter(name="prefer_sequence_per_entity", value="true"),
@Parameter(name="optimizer", value="hilo"),
@Parameter(name="increment_size", value="50")})
package org.example.model;
import org.hibernate.annotations.GenericGenerator;
import org.hibernate.annotations.Parameter;
På brugssiden mangler du bare
@Id @GeneratedValue(generator="optimized-sequence")
public long id;
Jeg foretrækker at have separate sekvenser, fordi jeg af og til slipper en tabel og genskaber den, og jeg vil have, at ID'et starter fra et.