Hibernate Auto-Screention свойство
-
27-09-2019 - |
Вопрос
Я знаю, что вы можете автоматически увеличить идентификатор, сопоставившись;
<id column="user_id" name="id" >
<generator class="increment"/>
</id>
Но возможно ли также увеличить свойство, что я пробовал до сих пор, не работал;
<property column="numeric_value" name="nr" >
<generator class="increment"/>
</property>
Решение
Но возможно ли также увеличить свойство, что я пробовал до сих пор, не работал;
Нет, вы не можете использовать <generator>
внутри А. <property>
(или, чтобы написать это на простом английском языке, гибернация поддерживает только с помощью генератора для свойств идентификатора).
Может быть, посмотрите на сгенерировано характеристики Если вы можете полагаться на базу данных, чтобы генерировать значение (например, с помощью триггера).
Рекомендации
Другие советы
Это будет зависеть от базы данных и как вы создали таблицу. Например, если вы используете MySQL, то в поле ID таблицы должно быть установлено автоматическое увеличение набора для поля. Hibernate не будет генерировать его, а скорее зависит от базы данных, чтобы сделать это. Если вы используете Hibernate Tools для генерации таблиц, это было бы позаботиться о генерации таблиц соответствующим образом. Вы можете обратиться к http://docs.jboss.org/hibernate/Core/3.3./reference/en/html/mapping.html#mapping-declaration-id.