Как в java hibernate создать колонку в бд, если она остутсвует

95
19 апреля 2021, 19:50

Проблема вот в чём. У меня есть класс

@Entity
@Table(name = "users")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@Column(name = "username")
private String username;
@Column(name = "password")
private String password;

со своими свойствами (колонками в БД). Сейчас появилась необходимость добавить новое свойство (newProperty). После того, как я прописываю его в классе и снова запускаю приложение, возникает ошибка column user0_.newProperty does not exist. Единственное решение, которое я нашел, это перед запуском приложения вручную добавить нову колонку в бд, а после этого запускать. Но такое решение абсолютно меня не устраивает. Каким образом можно проаннотировать (или как-то еще прописать), чтобы несуществующая колонка в бд сперва создавалась, а потом уже шло обращение к ней.

Answer 1

В persistence.xml необходимо добавить строку:

<property name="hibernate.hbm2ddl.auto" value="update"/>

После чего Hibernate будет добавлять колонки в таблицу, если вы добавите поле в POJO объект (Необходимо перегрузить ваше приложение)

READ ALSO
Пишу клиент-серверное приложение, от сервера клиенту сообщение приходит, а от клиента серверу не приходит

Пишу клиент-серверное приложение, от сервера клиенту сообщение приходит, а от клиента серверу не приходит

Пишу клиент-серверное приложение, от сервера клиенту сообщение приходит, а от клиента серверу не приходитПричём не выводится никакой ошибки,...

98
Считывание меток через метод RFIDWithUHF.readTagFromBuffer не возвращает Tid, а только EPC

Считывание меток через метод RFIDWithUHF.readTagFromBuffer не возвращает Tid, а только EPC

Внезапно возникла проблема при считывании меток, стандартный метод

111
Коллекция из повторяющихся элементов в строке

Коллекция из повторяющихся элементов в строке

Нужно составить список нужных фрагментов из строки

84
Внутренние отступы в toolbar android

Внутренние отступы в toolbar android

Как динамически в коде изменить внутренние отступы в toolbar? Изначальные отступы задаю в xml:

66