Как реализовать запрос на сопоставление для массива в критериях гибернации - PullRequest
0 голосов
/ 24 июня 2011

У меня такая ситуация

    Session session = sessionFactory.openSession();
        ArrayList<String> city;
       // in city array i have    "United States-Alabama-Anniston"
    Criteria  crit = session.createCriteria(Candidate.class);


    crit.createAlias("candidateInfo", "ci");

    crit.add(Restrictions.in("ci.city", city));
            List rsList = crit.list();

Теперь эта вещь работает нормально, если в моей базе данных есть значение "United States-Alabama-Anniston", но проблема в моей базе данных, это только "Anniston"

Кто-нибудь знает, как получить совпадение, если в моей базе данных есть только "Аннистон", и я хочу проверить его с помощью "США-Алабама-Аннистон", который есть в ArrayList.

спасибо

1 Ответ

0 голосов
/ 24 июня 2011

Если я правильно понял из комментария, у вас есть значения в строке, которые могут состоять из страны, штата и города, разделенных '-'.В этом случае и если формат с «-» гарантирован, лучшим и наиболее эффективным вариантом будет просто пройтись по массиву и скопировать часть после «-» в отдельный массив, который можно использовать в предложении in.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...