На самом деле DBUnit упоминает об этом.
Вот javadoc DatabaseConnection
конструктор
... схема - схема базы данных. Обратите внимание, что имя схемы регистр
чувствительны. Это необходимо, потому что схемы с тем же именем, но
разные случаи могут сосуществовать в одной базе данных. ...
Я предполагаю, что разработчики DBUnit исправляют регистр имени схемы, чтобы избежать проблемы, которая может быть вызвана этим поведением.
DatabaseConnection
- это универсальный суперкласс для всей другой базы данных, указанной DatabaseConnection
, например H2DatabaseConnection
.
Когда создается DatabaseConnection
, DBUnit будет получать метаданные о базе данных, которая, кстати, является реализацией java.sql.DatabaseMetaData
, из соединения jdbc.
После этого DBUnit исправит имя схемы, проверив метаданные, поэтому вы всегда получаете сообщения журнала.
DBUnit используйте следующие методы DatabaseMetaData
для проверки
boolean storesUpperCaseIdentifiers() throws SQLException;
boolean storesLowerCaseIdentifiers() throws SQLException;
и вот реализация драйвера jdbc H2
public boolean storesUpperCaseIdentifiers() {
debugCodeCall("storesUpperCaseIdentifiers");
return true;
}
поэтому таблица «user» становится «USER»