簡體   English   中英

如何將 Spring Data JPA 正確配置到 Spring Boot 2.X 應用程序的 application.properties 配置文件中?

[英]How to correctly configure Spring Data JPA into the application.properties configuration file of a Spring Boot 2.X application?

我在嘗試將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,但在我看來,有兩種方法可以將配置設置到我的application.properties文件中:一種是在我的配置中完成的(使用類似樹結構的東西),另一種是使用“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 實體必須映射這些表。 我不想從我的實體開始創建\\修改表。 這是正確的配置嗎?

要回答你的第一個問題,是的。 這是在 YAML 文件中配置spring.jpa.hibernate.ddl-auto配置的正確方法。 以及您提到的 YAML 格式的屬性文件。 所以,文件名應該是application.yml。 在 spring boot 中, spring-boot-starter-web依賴會自動包含snakeyaml 依賴來讀取 YAML 文件。

對於第二個問題,如果您不想自動創建表或者您可以簡單地避免配置,則可以為 ddl-auto 提及 none。 請參考: spring.jpa.hibernate.ddl-auto 屬性在 Spring 中是如何工作的?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM