преобразование jpa в спящий режим nvarchar в varchar на sql server

#sql-server #hibernate #jpa #spring-data-jpa

Вопрос:

Я выполняю запрос jpa, я определил все значения как varchar, но когда я проверяю выполняемый запрос в sql server, он отображается как nvarchar, может ли кто-нибудь объяснить это.

ЗАПРОС JPA : Список findByBatchNameAndFilenameAndIngestionStatusAndVendorName(Имя пакета строк, имя файла строки, статус int, имя поставщика строк);

Запрос Sql Server: RPC:Запуск exec sp_executesql Не выбирает ingestdocs0_.Идентификатор как ID1_0_, ingestdocs0_.ИМЯ ПАКЕТА как BATCH_NA2_0_, ingestdocs0_.БРЕНД как BRAND3_0_, ingestdocs0_.КОММЕНТАРИИ как КОММЕНТАРИИ 4_0_, ingestdocs0_.Doc_type_код как Doc_Type5_0_, ingestdocs0_.ИМЯ ФАЙЛА СОДЕРЖИМОГО как CONTENT_6_0_, ingestdocs0_.P8_GUID как P7_0_, ingestdocs0_.INGESTION_СТАТУС как INGESTIO8_0_, ingestdocs0_.LOAN_NUMBER как LOAN_NUM9_0_, ingestdocs0_.PROCESS_DATE как PROCESS10_0_, ingestdocs0_.Код состояния как Status_11_0_, ingestdocs0_.Имя поставщика как Vendor_12_0_ из dbo.BKFS_Invoice_Ingestion ingestdocs0_, где ingestdocs0_.BATCH_NAME=@P0 и ingestdocs0_.ИМЯ ФАЙЛА СОДЕРЖИМОГО=@P1 и ingestdocs0_.INGESTION_STATUS=@P2 и ingestdocs0_.Vendor_Name=@P3 ‘,N’@P0 nvarchar(4000),@P1 nvarchar(4000),@P2 int,@P3 nvarchar(4000)

Ответ №1:

Похоже, именно это выводит драйвер/база данных JDBC для типов параметров. AFAICS это не имеет ничего общего с гибернацией или весной. То, что вы показываете здесь, — это то, что делает драйвер JDBC при подготовке/выполнении инструкции.