Свойство автоинкремента Hibernate - PullRequest
5 голосов
/ 29 октября 2010

Я знаю, что вы можете автоматически увеличивать идентификатор путем сопоставления;

<id column="user_id" name="id" >
<generator class="increment"/>
</id>

Но возможно ли также увеличить свойство, которое я пробовал до сих пор, не работало;

<property column="numeric_value" name="nr" >
<generator class="increment"/>
</property>

Ответы [ 2 ]

8 голосов
/ 31 октября 2010

Но возможно ли также увеличить свойство, которое я пробовал до сих пор, не сработало;

Нет, вы не можете использовать <generator> внутри <property> (или, если писать простым языком, Hibernate поддерживает использование генератора только для свойств идентификатора).

Возможно, посмотрите на сгенерированные свойства , если вы можете использовать базу данных для генерации значения (например, с помощью триггера).

Ссылки

0 голосов
/ 29 октября 2010

Это будет зависеть от базы данных и от того, как вы создали таблицу. Например, если вы используете Mysql, то в поле id таблицы должно быть установлено автоматическое приращение для поля. Hibernate не будет генерировать его, а будет зависеть от базы данных. Если вы используете инструменты Hibernate для создания таблиц, он позаботится о создании таблиц соответствующим образом. Вы можете сослаться на http://docs.jboss.org/hibernate/core/3.3/reference/en/html/mapping.html#mapping-declaration-id

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...