Ou не было проблемой ResultSet - драйвер MS SQL с версией 6.x и Hibernate

Я использую Hibernate 5.0.10, Java 7 и Microsoft JDBC Driver 4.1 для SQL Server версии 4.1.8112.100.

После перехода на драйвер Microsoft SQL Server JDBC 6.4 я получаю эту ошибку:

Current CallableStatement ou was not a ResultSet, but getResultList was called

Ошибка в последней строке getResultSet

public List<DocListResultExt> getDocuments(DocList doc) {
    StoredProcedureQuery query = entityManagerFactory
            .createEntityManager()
            .createNamedStoredProcedureQuery("getDocList");

    query.setParameter(....);

    List<Sp_get_doc_list> spList = (List<Sp_get_doc_list>)query.getResultList();

Есть идеи, почему он внезапно кажется несовместимым с текущим кодом?

Каков код этой хранимой процедуры, в частности, содержит ли она SET NOCOUNT ON или нет?

Mark Rotteveel 10.05.2018 15:51
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
2
1
859
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Спасибо @Mark Rotteveel, кажется, добавление SET NOCOUNT ON решило проблему. Вроде не объясняет, почему драйвер справится с этим по-другому, но это нормально.

Честно говоря, я ожидал, что такая же проблема возникнет и с более ранними версиями драйверов, но это единственное, что я мог придумать, чтобы объяснить проблему.

Mark Rotteveel 10.05.2018 16:30

Другие вопросы по теме