DataJpaTest不创建架构

时间:2019-03-26 06:31:50

标签: java hibernate spring-boot spring-data-jpa h2

我有一个使用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:

我尝试过thisusing a schema.sql,也尝试过thisusing 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中创建架构的任何建议?

1 个答案:

答案 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;