Gần đây tôi đã giải quyết vấn đề này cho dự án của mình. Tôi sử dụng trình tạo trình tự nâng cao (là trình tạo mặc định cho trình tạo kiểu trình tự) và đặt prefer_sequence_per_entity
tham số thành true
.
Nội dung của package-info.java
của tôi :
@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;
Về mặt sử dụng, bạn chỉ cần
@Id @GeneratedValue(generator="optimized-sequence")
public long id;
Tôi thích có các chuỗi riêng biệt vì thỉnh thoảng tôi sẽ thả một bảng và tạo lại nó, và tôi muốn ID bắt đầu từ một.