Ограничаването на броя на редовете е чудесен начин за ускоряване на автоматичното довършване. Не ми е ясно обаче защо бихте ограничили до 1000 реда:не можете да покажете 1000 записа в падащо меню; не трябва ли да се ограничите до може би 10 записа?
Въз основа на вашите коментари по-долу, ето примерна заявка за база данни, която трябва да можете да адаптирате към вашата ситуация:
String queryString = "select distinct b.title from Books b where b.title like ':userValue'";
Query query = entityManager.createQuery(queryString);
query.setParameter("userValue", userValue + "%");
query.setMaxResults(20);
List<String> results = query.getResultList();