Я не смог получить принятый ответ для работы, используя графический интерфейс Netbeans IDE «Create Table», и я нахожусь на Netbeans 8.2. Чтобы он заработал, создайте столбец id со следующими параметрами, например
, а затем используйте опцию «Создать классы сущностей из базы данных», чтобы сгенерировать сущность для таблицы (я создал простую таблицу с именем PERSON, столбец идентификатора которой был создан точно так же, как и выше, и столбец NAME, который является простым столбцом varchar (255)) , Эти сгенерированные сущности оставляют пользователю возможность добавлять автоматически генерируемый механизм идентификатора.
GENERATION.AUTO, похоже, пытается использовать последовательности, которые, похоже, не нравятся Derby (ошибка, из-за которой не удалось сгенерировать последовательность / последовательность не существует), поэтому GENERATION.SEQUENCE также не работает, GENERATION.IDENTITY - нет. работать (получить сообщение об ошибке с идентификатором null), поэтому оставляется GENERATION.TABLE.
Установите кнопку «Стратегия генерации таблиц» на вашем постоянном устройстве на «Создать». Это создаст таблицы, которые не существуют в БД, когда ваш jar запущен (загружен?), Т.е. таблица, которую должен создать ваш PU для хранения приращений идентификатора. В вашей сущности замените сгенерированные аннотации над вашим полем id следующим ...
Я также создал контроллер для своего класса сущностей, используя опцию «Классы контроллеров JPA из классов сущностей». Затем я создаю простой основной класс, чтобы проверить, что идентификатор был сгенерирован автоматически, т.е.
В результате PERSON_ID_TABLE генерируется правильно, и в моей таблице PERSON есть две записи PERSON с правильными автоматически сгенерированными идентификаторами.