该
import.sql脚本是我认为的Hibernate功能(不是Spring或Spring
Boot)。它必须在示例中运行,否则测试将失败,但是在任何情况下,只有将ddl-auto设置为创建表时,它才运行。使用Spring
Boot时,应确保将
spring.jpa.hibernate.ddl-auto其设置为“ create”或“ create-
drop”(后者是嵌入式数据库在Boot中的默认设置,但对于其他数据库(例如postgres)则不是默认设置)。
如果你要无条件地运行SQL脚本,默认情况下,spring启动会,如果你把它在运行的hibernate设置一个独立的
classpath:schema.sql(或
classpath:schema-<platform>.sql地方
<platform>是你的情况“的Postgres”)。
我认为您可能可以删除
JpaVendorAdapter和
LocalContainerEntityManagerFactoryBean(除非您正在使用
persistence.xml),然后让Boot进行控制。可以使用
@EntityScan注释设置要扫描的软件包(Spring
Boot中的新增功能)。
在Boot
1.0.0.RC1中更改了默认的表命名方案(因此与postgres依赖无关)。我不确定RC2是否会一直如此,但是无论如何,您可以通过设置来回到旧的Hibernate默认值
spring.jpa.hibernate.naming-strategy=org.hibernate.cfg.ImprovedNamingStrategy。



