Таблицы 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>
Это недокументировано, но вы можете использовать генератор identity
в PostgreSQL, если PK имеет тип SERIAL
или BIGSERIAL
:
<id name="id" column="user_id" type="java.lang.Long">
<generator class="identity"/>
</id>
Пробовал следующее, и это сработало:
<id name="id" column="id" type="long" unsaved-value="null" >
<generator class="sequence">
<param name="sequence">my_sequence_name</param>
</generator>
</id>