Java: JPQL поиск - похожие строки - PullRequest
2 голосов
/ 02 июня 2010

Какие существуют методы, чтобы JPQL соответствовал одинаковым строкам?

Под аналогичным я подразумеваю:

  • Содержит: искомая строка находится в строке совпадений
  • без учета регистра
  • Небольшие ошибки: например, "arow" соответствует "arrow"

Я подозреваю, что первые два будут легкими, однако я был бы признателен за помощь с последним

Спасибо

1 Ответ

4 голосов
/ 02 июня 2010

Первые два действительно легко сделать, используя ключевые слова LIKE и LOWER или UPPER. Последнее очень сложно сделать, так как оно требует от вас определить, насколько похожими должны быть две строки. Нет базового ключевого слова, чтобы сделать это легко в JPQL (насколько я знаю). Вы можете использовать алгоритм, такой как расстояние Левенштейна , чтобы определить, есть ли небольшая ошибка (расстояние 1 или 2). Это не сделано в JPQL, хотя ...

...