在嵌入式HSQL数据库中创建模式的最佳方法

我目前正在使用以下设置在嵌入式数据库中创建架构,然后再针对它运行测试

在我的应用程序上下文

   

createSchema.sql

 create schema ST_TEST AUTHORIZATION DBA; 

hibernate属性

         

我的问题是这是最好的方法。 或者我可以在我的属性中使用不同的模式名称? 或者在jdbc:embedded-database元素中设置模式名称

默认情况下,HSQL创建一个名为PUBLIC的模式。 来源:HSQL文档

在测试中看不到模式名称(命名查询/实体管理器进行交互),您可以更改hibernate属性以使用此PUBLIC模式

      

要么
只是从属性列表中省略default_schema,它仍然使用PUBLIC

     

您可以在Base Testing类中使用此代码,并使用@BeforeClass注释(对于Junit)调用它。 我是这样做的。

  EmbeddedDatabaseBuilder builder = new EmbeddedDatabaseBuilder(); builder = builder.setType(EmbeddedDatabaseType.HSQL).addScript( "createSchema.sql"); builder.setName("MyDatabase"); EmbeddedDatabase db = builder.build();