Надлежащий В спящем режиме идентификационный генератор для пост-ГРЭС serial/bigserial столбец?

Таблицы My PostgreSQL имеют идентификатор типа bigserial, значение их сгенерировано в то время, когда строки вставляются (и таким образом, идентификационное значение столбца не предоставляется в INSERT оператор). Я испытываю затруднения при нахождении собственного значения для <generator class="..."> атрибут в моем XML отображающийся файл.

Код ниже является самым близким, я нашел, что это, кажется, является самым близким для Пост-ГРЭС, но он все еще выполняет a SELECT nextval(...) на последовательности прежде, чем вставить (и явно включая идентификационное значение поля на вставке). Я просто хочу, в спящем режиме для не включения идентификационного значения поля вообще, позволяя Пост-ГРЭС сделать его задание генерации самого значения.

    <id name="id" column="id" type="java.lang.Long">
        <generator class="sequence">
            <param name="sequence">my_sequence_name</param>
        </generator>
    </id>
18
задан Matt Huggins 8 August 2010 в 09:18
поделиться

2 ответа

Это недокументировано, но вы можете использовать генератор identity в PostgreSQL, если PK имеет тип SERIAL или BIGSERIAL:

<id name="id" column="user_id" type="java.lang.Long">
     <generator class="identity"/>
</id>

Смотрите HB-875 и HHH-1675.

20
ответ дан 30 November 2019 в 08:32
поделиться

Пробовал следующее, и это сработало:

<id name="id" column="id" type="long" unsaved-value="null" >
        <generator class="sequence">
            <param name="sequence">my_sequence_name</param>
        </generator>
</id>
1
ответ дан 30 November 2019 в 08:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: