在嵌入式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();