Как использовать класс StringDistance в JPA - PullRequest
3 голосов
/ 31 марта 2012

Я нашел служебный класс StringDistance в JPA. Я хочу знать, как использовать этот класс в JPA? Вы можете получить API здесь .

Я хочу знать, как использовать метод getClosestLevenshteinDistance? Любая помощь должна быть заметной.

Ответы [ 2 ]

3 голосов
/ 31 марта 2012

Класс StringDistance не является частью спецификации JPA , но является служебным классом от apache OpenJPA

Класс StringDistance полезен для вычисления расстояния Левенштейна

2 голосов
/ 31 марта 2012

Расстояние Левенштейна между двумя строками - это минимальное количество изменений, которые необходимо применить к первой строке, чтобы перейти ко второй строке. Вы можете увидеть здесь для деталей алгоритма.

Класс StringDistance не имеет ничего общего со спецификацией JPA. Это всего лишь служебный класс, используемый OpenJPA, который является одной из реализаций спецификации JPA. Apache Common также предоставляет такую ​​функцию

Если OpenJPA обнаружит недопустимое свойство конфигурации во время синтаксического анализа файла конфигурации openJPA, он будет использовать алгоритм расстояния Левенштейна, вызвав getClosestLevenshteinDistance(), чтобы найти ближайшую действительную строку свойства для этого недопустимого свойства, чтобы он мог предоставить предложение исправить это недействительное свойство.

...