H2 1.4.191。 DbUnit 2.5.1。 如何解决? 3种情况的代码和结果:
org.dbunit.dataset.NoSuchTableException: category org.dbunit.dataset.NoSuchTableException: Category org.dbunit.dataset.NoSuchTableException: CATEGORY // <dataset> <Category categoryId="9223372036854775806" categoryName="NAME" categoryParentId="9223372036854775805"/> </dataset> // CREATE TABLE Category ( categoryId INT AUTO_INCREMENT, categoryName VARCHAR NOT NULL, categoryParentId INT NOT NULL, PRIMARY KEY (categoryId) ) //Check - tried to recreate org.h2.jdbc.JdbcSQLException: Table "CATEGORY" already exists;
有时,当您使用dbunit时,您需要定义尝试使用该表的模式,也许您可以尝试添加
<dataset> <schema.Category categoryId="9223372036854775806" categoryName="NAME" categoryParentId="9223372036854775805"/> </dataset>
如果不检查您正在使用的数据源,则可能您未指向正确的数据库或架构。
对于dbunit,我们具有一些属性,请考虑Qualified table names按以下方式使用该属性。
Qualified table names
DatabaseConfig dBConfig = dBConn.getConfig(); // dBConn is a IDatabaseConnection dBConfig.setProperty(DatabaseConfig.FEATURE_QUALIFIED_TABLE_NAMES, true);