Я использую SQL Server 2008 R2.
У меня есть кеш данных, извлеченный из базы данных, и в настоящее время способ получить строку - через map.get()
. Однако некоторые части кода напрямую запрашивают из базы данных, а не просто используют кеш, поскольку для этих случаев необходимы некоторые объединения. Проблема в том, что collation
в таблице вызывает различное поведение между сравнением текста через сравнение SQL (использует сопоставление таблиц) и сравнением текста через Java с использованием map.get()
.
Я прочитал о java.text.Collator
, но для его правильного использования необходимо использовать collator.Compare
. Есть ли способ заставить карту использовать фиксированный Collator
.
Кстати, в сопоставлении в этой ситуации используется японский символ, в котором японский язык с полушириной и полной шириной одинаков при сравнении в SQL Server.