我有一个使用Spring Boot的中等大小的项目,并且我试图用嵌入式H2创建我的第一个DataJpaTest
,但是我遇到了以下异常:
org.hibernate.tool.schema.spi.CommandAcceptanceException: Error executing DDL "drop table project.project.driver if exists" via JDBC Statemen
Caused by: org.h2.jdbc.JdbcSQLException: Schema "PROJECT" not found; SQL statement:
我尝试过this和using a schema.sql,也尝试过this和using a test.properties in test/resources,以及this other answer。但是没有任何效果。我真的很困惑;这是我第一次在Spring Boot中遇到无法解决的问题。
我的实体类定义为:
@Entity
@Table(name = "table_name", schema = "project", catalog = "project")
@Lombok.Data
public class TableNameEntity { }
关于如何强制Hibernate在H2中创建架构的任何建议?
答案 0 :(得分:0)
您可以传递一个在h2的url中创建架构的sql脚本:
jdbc:h2:mem:somedb;DB_CLOSE_DELAY=-1;INIT=RUNSCRIPT FROM 'classpath:create_schema.sql'
在create_schema.sql中将是这样
CREATE SCHEMA IF NOT EXISTS project;