我正在使用嵌入式HSQLDB开发Spring Boot应用程序以进行本地部署。我将bean定义如下
@Bean
public DataSource ds() {
return new EmbeddedDatabaseBuilder()
.setType(EmbeddedDatabaseType.HSQL)
.addScript("classpath:db/schema.sql")
.addScript("classpath:db/data.sql")
.build();
}
但是,当我尝试使用JPA从数据库中获取所有实体时,我得到一个空结果。
我想在运行时对嵌入式数据库执行查询以查看实际数据。 HSQLDB监听哪些端口/协议,以及连接和执行查询需要哪个客户端?
答案 0 :(得分:1)
解决方案是将以下属性添加到application.properties
spring.jpa.generate-ddl=false
spring.jpa.hibernate.ddl-auto=validate
这是因为hibernate的默认策略是删除并重新创建它管理的实体的数据库模式,这会否定我的数据库脚本。