Как установить свойство подключения Oracle includeSynonyms=true в Grails 3

Мое приложение Grails 3.3.2 в настоящее время подключается к базе данных Oracle 11g, и некоторые таблицы данных являются синонимами dblink, которые указывают на физическую таблицу в другой базе данных. При запуске приложения Grails возникало следующее исключение hibnerate:

org.hibernate.tool.schema.spi.SchemaManagementException: проверка схемы: отсутствует столбец [col_in_tbl_with_synonyms] в таблице [tbl_with_synonyms]

Во многих статьях говорится, что свойство подключения includeSynonyms должно быть установлено на true, чтобы позволить Oracle вернуть метаданные, чтобы hibernate мог найти определение столбца. Поэтому я пытался установить includeSynonyms=true по-разному, но все еще не заставлял его работать и всегда получал ошибку выше, независимо от того, использовал ли я драйвер ojdbc6 или ojbc8.

Я знаю, что могу установить dbCreate: none для обхода проверки в качестве обходного пути, но с проверкой можно обнаружить проблему сопоставления раньше, что должно быть хорошей идеей.

Ниже приведена моя конфигурация для справки, есть идеи? Спасибо!

build.gradle

bootRun { jvmArgs = ['-Doracle.jdbc.includeSynonyms=true'] }

application.yml

spring: ... datasource: dbProperties: includeSynonyms: true synonyms: true connectionProperties: includeSynonyms: true synonyms: true connection-properties: includeSynonyms: true synonyms: true hibernate: ... synonyms: true includeSynonyms: true dataSources: dataSource: driverClassName: oracle.jdbc.OracleDriver dialect: org.hibernate.dialect.Oracle10gDialect dbCreate: validate dbProperties: includeSynonyms: true synonyms: true connectionProperties: includeSynonyms: true synonyms: true connection-properties: includeSynonyms: true synonyms: true ... properties: ... includeSynonyms: true synonyms: true dbProperties: includeSynonyms: true synonyms: true connectionProperties: includeSynonyms: true synonyms: true connection-properties: includeSynonyms: true synonyms: true


person Leo    schedule 04.03.2018    source источник
comment
у меня такая же проблема. я хочу проверить, но я должен установить его на none (и все работает без него, но не идеально). Вот немного другой ответ на синтаксис сахара: includesynonyms">stackoverflow.com/questions/60867141/   -  person granadaCoder    schedule 05.06.2020