Таблицы MySQL пусты после перезапуска приложения Linux

Я использую спящий режим для сохранения объектов сущностей в локальной запущенной базе данных.

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

Я использую этот код для передачи записи в таблицу:

CrudRepository:

public interface ArticleRepository extends CrudRepository<ArticleEntity, Integer> {
}

DB accessor method:

public void addArticleEntity(ArticleEntity articleEntity){
    articleRepository.save(articleEntity);
}

После перезапуска приложения все записи исчезают, только сама пустая таблица сохраняется.

Как я могу сохранить эти записи в таблице навсегда?

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
2
0
50
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Метод persist предназначен для добавления нового экземпляра сущности в контекст постоянства, то есть перехода экземпляра из переходного в постоянное состояние.

Обычно мы вызываем его, когда хотим добавить запись в базу данных (сохранить экземпляр объекта):

Person person = new Person();
person.setName("John");
session.persist(person);

Чтобы получить больше информации: https://www.baeldung.com/hibernate-save-persist-update-merge-saveorupdate

Ответ принят как подходящий

Извините за размещение такой случайной информации, я просто не знал, с чего начать поиск. Тем не менее, голосование против не помогло.

Решением было установить spring.jpa.hibernate.ddl-auto=create (который, очевидно, создает новые таблицы при перезапуске) на spring.jpa.hibernate.ddl-auto=update.

Возможно, это поможет тому, кто ищет похожие термины.

Другие вопросы по теме