Я использую 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;
Я бы хотел, чтобы hibernate использовал те значения, которые он выбирает из последовательности, а не значения последовательности, умноженные на 10. Какой правильный способ сделать это?