Wdrażam funkcję autouzupełniania za pomocą Jquery, kiedy wpisuję nazwę, pobiera ona rekord z bazy danych, Rekordy przechowywane w db są mieszanką małych liter o wartości & kapitału. Napisałem kwerendę HQL, która przynosi mi rekordy z rozróżnianiem wielkości liter, ale muszę nagrywać niezależnie od przypadku. Oto zapytanie,Operator podobny do HQL do wyszukiwania niewrażliwego na wielkość znaków
List<OrganizationTB> resultList = null;
Query query = session.createQuery("from DataOrganization dataOrg where dataOrg.poolName
like '%"+ poolName +"%'");
resultList = query.list();
Ex: Jeśli mam nazwy basen, usytuowany HRMS danych, HRMS danych, dane Hr etc ... gdybym typu HR lub hr muszę uzyskać wszystkie 3 rekordy, które nie jestem w stanie.
Proszę o pomoc ...
Udało się .. dziękuję ton – madhu
Nie sądzisz, że 'poolName.toLowerCase()' jest dobrym wyborem niż 'lower ('%" + poolName + "%')" 'dla wyrażenia podobnego, ponieważ zapobiega dodatkowe obciążenie dla konwersji funkcji HQL do funkcji specyficznej dla DB? –
@ArunKumar Myślę, że jeśli użyjesz 'poolName.toLowerCase()', wtedy kompilacja zostanie wykonana w Javie-Pojo, nie będzie żadnej optymalizacji SQL, gdzie jak w przypadku funkcji 'lower' istnieje możliwość na poziomie dialektu do optymalizacji SQL i zużyje mniej pamięci przy mniejszym nie. obiektów pobranych z bazy danych. –