Как правильно настроить Spring Data JPA в файле конфигурации application.properties приложения Spring Boot 2.X? - PullRequest
0 голосов
/ 22 марта 2020

При попытке настроить Spring Data JPA в моем проекте Spring Boot возникают следующие трудности.

У меня возникла следующая проблема, связанная с application.properties файл. Это мой оригинальный application.properties содержимое файла:

spring:
  application:
    name: Spring Boot Excel API
  datasource:
    driverClassName: org.mariadb.jdbc.Driver
    url: jdbc:mariadb://localhost:3306/SOC_Dashboard
    username: admin
    password: password
    timeBetweenEvictionRunsMillis: 1000
    testWhileIdle: true
    validationQuery: SELECT 1

, в котором я настроил соединение с базой данных для своего проекта (я использовал JdbcTemplate для взаимодействия с моей базой данных с тех пор я заменяю Spring Data JPA ).

Я не так увлечен Spring Boot, но мне кажется, что существует 2 способа настройки конфигурации в моем приложении .properties file: один такой же, как в моей конфигурации (с использованием чего-то вроде древовидной структуры), а другой - с использованием структуры "flast".

Поиск в Интернете. Я нашел только эту "плоскую" конфигурацию для JPA :

spring.jpa.hibernate.ddl-auto=none

, что не работает в моем случае. Помещая его в мой application.properties файл, я получаю синтаксическую ошибку из-за того, что он использует другой стиль дерева.

Поэтому я пытаюсь таким образом изменить свой исходный файл :

spring:
  application:
    name: Spring Boot Excel API
  datasource:
    driverClassName: org.mariadb.jdbc.Driver
    url: jdbc:mariadb://localhost:3306/SOC_Dashboard
    username: admin
    password: password
    timeBetweenEvictionRunsMillis: 1000
    testWhileIdle: true
    validationQuery: SELECT 1

  jpa:
    hibernate: 
      ddl-auto: none

Это правильный путь?

Еще одно сомнение связано с конфигурацией ddl-auto . Моя разработка основана на базе данных. Я проектирую таблицы БД, и сущность JPA должна отобразить эти таблицы. Я не хочу создавать \ изменять таблицы, начиная с моей сущности. Это правильная конфигурация?

1 Ответ

0 голосов
/ 22 марта 2020

Чтобы ответить на ваш первый вопрос, ДА. Это правильный способ настройки spring.jpa.hibernate.ddl-auto конфигурации в файлах YAML. И файл свойств, который вы упоминаете в формате YAML. Итак, имя файла должно быть application.yml. При весенней загрузке зависимость spring-boot-starter-web автоматически включает зависимость snakeyaml для чтения YAML-файлов.

По второму вопросу вы не можете упомянуть ни одного слова для ddl-auto, если вы не хотите создавать таблицы автоматически или вы можете просто избежать настройки. Пожалуйста, обратитесь: Как свойство spring.jpa.hibernate.ddl-auto точно работает в Spring?

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