Я использую Hibernate с Spring и DB2. Я использую последовательности для генерации первичного ключа для сущностей. Все объекты используют одну и ту же последовательность HIBERNATE_SEQUENCE
, которая используется по умолчанию в спящем режиме.
Проблема в том, что значения, которые попадают в первичные ключи, примерно в 10 раз выше значений, возвращаемых HIBERNATE_SEQUENCE.
Например, эта ситуация сразу после вставки новой строки в таблицу:
select max(id) as primary_key, nextval for hibernate_sequence sequence_value from tbl ;
primary_key sequence_value
501483661 50148373
Я сопоставил первичный ключ, как это, в суперклассе для всех сущностей:
@MappedSuperclass
public class AbstractEntity implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE)
private Integer id;
Я бы хотел, чтобы спящий режим использовал те значения, которые он извлекает из последовательности, а не значения последовательности, умноженные на 10. Как правильно это сделать?