Я пытаюсь понять, как настроить мой Hibernate для правильной работы с моей MSSQL DB и его схемами.MSSQL schema & Hibernate 5.1.0.Final (таблица не найдена)
Проблема заключается в том, что во время проверки таблиц, он записывает (для каждой таблицы):
org.hibernate.tool.schema.extract.internal.InformationExtractorJdbcDatabaseMetaDataImpl
- HHH000262: Table not found SHARED_CONFIGURATION
Я отлажена Hibernate, чтобы выяснить, что вызывает это и обнаружил, что она вызывает что-то вроде:
EXECUTE [mydb]..sp_columns N'SHARED_CONFIGURATION',N'',N'mydb'
Обратите внимание, что 2-й параметр - это имя схемы и пустая строка. Когда я попытался запустить этот запрос против БД, он вернул пустой набор результатов. Но когда я передал «dbo» в качестве второго параметра, набор результатов не был пустым (это означает, что Hibernate должен это назвать).
ОК, так что мне казалось, что мне нужно определить схему. Но как установка hibernate.default_schema или настройка схемы в @Table аннотацию на моих entites бросил исключение:
Schema-validation: missing table [SHARED_CONFIGURATION]
Так что теперь мне интересно, что это реальная проблема. Я также хотел установить схему по умолчанию в моей БД, но не был разрешен (не может изменять пользователя «sa», потому что он не существует или у вас нет разрешения.) Даже при выполнении с самим пользователем:
ALTER USER sa WITH DEFAULT_SCHEMA = dbo;
Обратите внимание, что это происходит с любым драйвером (JTDS, официальный MS-драйвер ..) Может кто-нибудь объяснить, что здесь происходит и как «правильно» избавиться от этого предупреждающего сообщения в журнале, что таблица не существует, даже если она существует (и приложение может нормально работать с базой данных)?
ли вы раскрыть причину этого? У меня такая же проблема. –
К сожалению, я не сделал – d1x