75.2 使用Hibernate初始化数据库
你可以显式设置spring.jpa.hibernate.ddl-auto
,标准的Hibernate属性值有none
,validate
,update
,create
,create-drop
。Spring Boot根据你的数据库是否为内嵌数据库来选择相应的默认值,如果是内嵌型的则默认值为create-drop
,否则为none
。通过查看Connection
类型可以检查是否为内嵌型数据库,hsqldb,h2和derby是内嵌的,其他都不是。当从内存数据库迁移到一个真正的数据库时,你需要当心,在新的平台中不能对数据库表和数据是否存在进行臆断,你也需要显式设置ddl-auto
,或使用其他机制初始化数据库。
此外,启动时处于classpath根目录下的import.sql
文件会被执行。这在demos或测试时很有用,但在生产环境中你可能不期望这样。这是Hibernate的特性,和Spring没有一点关系。