我正在尝试使用DBUnit测试使用hibernate的应用程序。我的测试使用创建 - 丢弃策略在内存数据库上运行。
当DBunit尝试提供数据库时,我一直收到NoSuchTableException。我在Web上发现的所有这些组合的示例(Hibernate和DBUnit)都具有在* hbm文件中声明的数据库结构。
为了将Hibernate与DBUnit集成,是否必须拥有hbm文件?
干杯!
答案 0 :(得分:0)
您不需要拥有hbm文件。
正在发生的事情是DBUnit创建内存数据库,但它是一个干净的数据库。因此无法加载数据。
作为设置代码的一部分,您需要在加载数据之前初始化Hibernate。您可以通过Hibernate API发出对select 1
的调用来执行此操作。这将强制Hibernate创建表,然后调用DBUnit设置,然后填充它们。