Ошибка типа варианта Microsoft SQL появляется при запуске hibernate 5 - PullRequest
0 голосов
/ 15 января 2019

Всякий раз, когда я запускаю свой спящий режим 5, я вижу эту ошибку:

ERROR: Could not fetch the SequenceInformation from the database
com.microsoft.sqlserver.jdbc.SQLServerException: The "variant" data type is not supported.

Я никогда раньше не слышал о "варианте" типа данных. Или это категория типов данных? Не уверен.

Я проверил типы данных во всех моих таблицах, и это те, которые есть: bigint, bit, date, datetime, int, numeric, varbinary и varchar.

Откуда может исходить эта ошибка? Где-нибудь еще я должен проверить варианты типов?

EDIT:

Я выполнил этот запрос select distinct data_type from INFORMATION_SCHEMA.COLUMNS, чтобы получить все типы данных в моей базе данных, и вариант sql не появился. Вот так я уверен, что его нет.

Есть ли где-то еще, на что можно сослаться?

РЕДАКТИРОВАТЬ 2:

Немного больше информации об этом. Приложение представляет собой Maven проект. Я создал обычный Java-проект и выполнил те же коды для одной и той же базы данных, но не получил никакой ошибки о типовых вариантах SQL.

Так что эта проблема, похоже, связана с зависимостью гибернации. Я не понимаю, правда. Это зависимость, которую я использую:

        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-core</artifactId>
            <version>5.4.0.Final</version>
        </dependency>

Ответы [ 2 ]

0 голосов
/ 10 мая 2019

Эта проблема является ошибкой в ​​драйвере JDBC MSSQL, см.

https://github.com/microsoft/mssql-jdbc/pull/442

Как уже упоминалось в changelog , это исправлено для версий> = 6.3.2

Исправлена ​​ошибка sql_variant с типом String # 442

0 голосов
/ 15 января 2019

Хорошо. Итак, я проверил библиотеку, которую использовал в своем обычном Java-приложении, и это Hibernate 5.3.7. В моем приложении Maven я использую 5.4.0.

Поэтому я изменил библиотеку гибернации в своем приложении maven на:

    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-core</artifactId>
        <version>5.3.7.Final</version>
    </dependency>

И теперь все работает. Никаких жалоб на какой-то странный, какой-то странный тип Sql Variant.

Эта проблема также касается поиска в Hibernate 5.11.0. Вы должны использовать 5.10.5. Финал.

К сожалению, у меня нет необходимых полномочий, чтобы поднять это с командой hibernate на их трекере проблем. Надеюсь, один из них найдет этот пост и обратится к нему. Я знаю, что они работают над Hibernate Search 6 и Hibernate ORM 6, так что это хорошая новость!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...