Укажите начальное значение идентификатора HSQLDB с помощью аннотации - PullRequest
0 голосов
/ 14 февраля 2011

Можно ли указать начальное значение для столбца IDENTITY, используя аннотации Hibernate / JPA поверх базы данных HSQLDB?Соответствующий исходный код до сих пор выглядит следующим образом:

@Id
@GeneratedValue(strategy=GenerationType.AUTO)
public Long getId() {
    return id;
}

Сгенерированный DDL выглядит следующим образом:

id bigint generated by default as identity (start with 1)

Что я хотел бы сделать, это чтобы идентификатор начинался со значения10 000 с помощью аннотаций.

Примечание. Это новое приложение, поэтому я использую последние версии Hibernate и HSQLDB.

1 Ответ

0 голосов
/ 16 февраля 2011

Поскольку этот вопрос изначально не был помечен как Hibernate, вероятно, его пропустили эксперты Hibernate. Я только что заметил, что Hibernate HSQLDialect возвращает (начиная с 1) для всего создания идентичности. Поэтому, вероятно, нет способа переопределить это.

Вы должны изучить, как выполнить инструкцию SQL для сброса идентификатора ПОСЛЕ создания таблицы, но до добавления данных. SQL выглядит так:

ALTER TABLE hibernate_generated_table_name ALTER COLUMN id RESTART WITH 10000
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...