Если в базе данных 2 столбца, например.
code varchar(3)
name nvarchar(50)
Как указать спящему режиму передавать varchar для поиска по коду?
В сопоставлении гибернации строка сопоставляется с nvarchar и производит такие запросы, как:
Select code, name From table where code=N'AAA' (instead of code='AAA')
Это очень плохо, так как вызывает сканирование индекса вместо операции поиска по индексу (сканирование всех узлов индекса вместо прямого перехода к запрошенному)
Поскольку код используется в миллионах строк, а также в нескольких индексах и внешних ключах, изменение его с varchar на nvarchar приведет к снижению производительности (больше операций ввода-вывода, поскольку nvarchar использует в два раза больше места, чем varchar).
Есть ли способ указать спящему режиму выполнять сопоставление в соответствии с типом базы данных, а не типом Java?
Спасибо