Таблицы обновляются после повторного выполнения приложения с EmbeddedDatabaseBuilder с использованием derby - PullRequest
0 голосов
/ 30 октября 2019

Я использую Spring Boot и Spring JDBC с Derby. Ниже приведен фрагмент кода для инициализации встроенной базы данных.

@Bean
    public DataSource dataSource() {

        // no need shutdown, EmbeddedDatabaseFactoryBean will take care of this
        EmbeddedDatabaseBuilder builder = new EmbeddedDatabaseBuilder();
        EmbeddedDatabase db = builder
            .setType(EmbeddedDatabaseType.DERBY) //.H2 or .DERBY
            .addScript("db/sql/create-db.sql")
            .addScript("db/sql/insert-data.sql")
            .build();
        return db;
    }

Но когда я запускаю приложение, таблицы удаляются и создаются каждый раз. Таким образом, все данные, вставленные в последний запуск, были сброшены. Я не хочу бросать столы. Как мне этого добиться?

1 Ответ

1 голос
/ 31 октября 2019

установите нижеприведенное свойство в вашем application.properties/application.yml

spring.jpa.hibernate.ddl-auto=update

Согласно документации по пружине здесь

spring. jpa.hibernate.ddl-auto

Режим DDL. На самом деле это ярлык для свойства "hibernate.hbm2ddl.auto". По умолчанию "create-drop" при использовании встроенной базы данных , при этом менеджер схемы не обнаружен. В противном случае по умолчанию используется значение «none».

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...