spring_reference/IX. ‘How-to’ guides/68.2. Initialize a database...

927 B
Raw Permalink Blame History

68.2. 使用Hibernate初始化数据库

你可以显式设置spring.jpa.hibernate.ddl-auto标准的Hibernate属性值有nonevalidateupdatecreatecreate-drop。Spring Boot根据你的数据库是否为内嵌数据库来选择相应的默认值如果是内嵌型的则默认值为create-drop,否则为none。通过查看Connection类型可以检查是否为内嵌型数据库hsqldbh2和derby是内嵌的其他都不是。当从内存数据库迁移到一个真正的数据库时你需要当心在新的平台中不能对数据库表和数据是否存在进行臆断。你也需要显式设置ddl-auto,或使用其他机制初始化数据库。

此外启动时处于classpath根目录下的import.sql文件会被执行。这在demos或测试时很有用但在生产环境中你可能不期望这样。这是Hibernate的特性和Spring没有一点关系。