Ответ 1
Имена котировок в Н2 чувствительны к регистру, как того требует спецификация SQL. Это означает, что это будет работать:
CREATE TABLE "testquote" (dummy INT, "quotedDummy" INT);
SELECT * FROM "testquote";
но это не будет:
SELECT * FROM "TestQuote";
SELECT * FROM "TESTQuote";
SELECT * FROM "TESTQUOTE";
Имена недочетов не чувствительны к регистру в H2. Обычно они преобразуются в верхний регистр (как в Oracle и других базах данных). Это означает, что утверждения
CREATE TABLE test (dummy INT);
SELECT * FROM test;
совпадают с
CREATE TABLE "TEST" ("DUMMY" INT);
SELECT * FROM "TEST";
В том, что H2 ведет себя так же, как Oracle. Это немного отличается от того, как другие базы данных, такие как MySQL и PostgreSQL, имеют дело с именами идентификаторов. H2 имеет функцию совместимости: если вы добавляете ;DATABASE_TO_UPPER=FALSE
к URL-адресу базы данных, идентификаторы незаметки не преобразуются в верхний регистр, это означает, что они чувствительны к регистру также. Но вам нужно добавить это при создании базы данных, и каждый раз, когда вы ее используете (если вы добавите параметр для существующих баз данных, идентификаторы существующих объектов уже конвертированы в верхний регистр).