spring.datasource.initialization-mode 的可能值是什么?

Chr*_*ine 16 java spring spring-boot

我正在 Spring JPA 中配置一个数据库,我想知道spring.datasource.initialization-mode. 我发现这个页面具有共同的属性,但它没有给出所有可能的值。我希望有一些关于您可以设置的所有属性的所有可能值的文档。

我正在使用我的道具部分中的applicationContext.xml属性作为属性entityManagerFactory

<util:properties id="props">
    <prop key="hibernate.show_sql">true</prop>
    <prop key="hibernate.dialect">org.hibernate.dialect.PostgreSQL82Dialect</prop>
    <prop key="hibernate.hbm2ddl.auto">create</prop>
    <prop key="hibernate.ddl-auto">create</prop>
    <prop key="spring.jpa.show-sql">true</prop>
    <prop key="spring.jpa.generate.ddl">true</prop>
    <prop key="spring.jpa.hibernate.ddl-auto">create</prop>
    <prop key="spring.datasource.initialization-mode">always</prop>
    <prop key="spring.jpa.properties.hibernate.jdbc.lob.non_contextual_creation">true</prop>
</util:properties>
Run Code Online (Sandbox Code Playgroud)

Chr*_*ine 18

当所有其他方法都失败时,你记得“使用源,卢克!”。这些值在 enum的Javadoc中给出DataSourceInitializationMode。值为alwaysembeddednever

  • 枚举的 Javadoc 应该给出所有可能的值。因为这就是枚举的工作方式。 (8认同)

小智 10

原谅我迟到了将近一年。在遇到了由 解释的类似问题后Christine,我决定抓住线索并开始在source. 似乎在https://docs.spring.io/spring-boot/docs/current/api/org/springframework/boot/jdbc/DataSourceInitializationMode.html的链接中详细说明了以下内容:

枚举常量摘要 枚举常量

枚举常量和描述

ALWAYS始终初始化数据源。

EMBEDDED仅初始化嵌入的数据源。

NEVER不要初始化数据源。