Наскоро реших този проблем за моя проект. Използвам подобрен генератор на последователност (който е по подразбиране за генератори в стил последователност) и задавам prefer_sequence_per_entity
параметър на true
.
Съдържание на моя 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;
От страна на употребата, от която се нуждаете
@Id @GeneratedValue(generator="optimized-sequence")
public long id;
Предпочитам да имам отделни последователности, защото от време на време ще изпусна таблица и ще я създам отново и искам идентификаторите да започват от една.