Я пытаюсь сделать поиск без учета регистра в hibernate
так я использую функцию lower()
на поле базы данных и Java String.toLowerCase()
по параметру, как так:Hibernate ниже не работает
String query = "from LdapData where lower(ntid) = ? ";
Query stmt = session.createQuery(query);
stmt.setString(0, ntid.toLowerCase());
result = (List<LdapData>)stmt.list();
результат возвращая пустой список, когда запрос в SQL Developer показывает, что есть один, но в верхнем регистре. Кажется, что он не превращается в нижнюю.
Может ли кто-нибудь увидеть что-то не так с этим?
это строка NTID – tekknow
и в базе данных это NTID NOT NULL VARCHAR2 (50) – tekknow
Вопросы, требующие помощи для отладки («почему эта треска не является e working? ») должен включать в себя желаемое поведение, конкретную проблему или ошибку и кратчайший код, необходимый для воспроизведения в самом вопросе. Вопросы без четкого описания проблемы не полезны другим читателям. См.: Как создать минимальный, полный и проверенный пример. –