Изменить тип данных для столбца таблицы, созданного JPA - PullRequest
1 голос
/ 15 апреля 2019
  1. Можно ли изменить длину столбца для таблицы, созданной с использованием JPA? Я хотел бы увеличить длину для этого поля
@NotNull
@Column(name = "ShortDescription", length = 65)
private String shortDescription;
  1. например. если я изменю длину на 80 и заново разверну, и столбец будет обновлен?

1 Ответ

1 голос
/ 15 апреля 2019

Для EclipseLink

EclipseLink не поддерживает автоматическое обновление существующих столбцов. Вы должны обновить его вручную с помощью запроса DDL или использовать один из следующих вариантов в соответствии с вашими требованиями.

create-tables: EclipseLink попытается выполнить CREATE TABLE SQL для каждой таблицы. Если таблица уже существует, EclipseLink будет следовать поведению по умолчанию для вашей конкретной базы данных и комбинации драйверов JDBC (когда выдается CREATE TABLE SQL для уже существующей таблицы). В большинстве случаев выдается исключение, и таблица не создается; будет использована существующая таблица. Затем EclipseLink продолжит выполнение следующего оператора.

create-or-extend-tables: EclipseLink попытается создать таблицы. Если таблица существует, EclipseLink добавит недостающие столбцы.

drop-and-create-tables: EclipseLink попытается УДАЛИТЬ все таблицы, а затем СОЗДАТЬ все таблицы. Если возникнут какие-либо проблемы. EclipseLink будет следовать поведению по умолчанию для вашей конкретной базы данных и конкретной комбинации драйверов JDBC, а затем перейдет к следующему утверждению. Это полезно при разработке, если схема часто изменяется, или во время тестирования, когда необходимо очистить существующие данные.

none: по умолчанию, ddl не генерируется; схема не генерируется.

Добавьте это свойство в ваш файл persistence.xml.

для спящего режима

Значения create, create-drop, validate и update в основном влияют на то, как управление инструментом схемы будет манипулировать схемой базы данных при запуске.

Вы можете использовать значение update для hibernate.hbm2ddl.auto, чтобы длина столбца обновлялась при запуске приложения. Добавьте это свойство в ваш файл persistence.xml.

...