запрос на совпадение в спящем режиме для двух символов - PullRequest
1 голос
/ 04 июля 2011

Я использую Hibernate с MySQL У меня есть ключевое слово в Java, для которого мне нужно получить запись из MySQL

    Restrictions.like("resume Text", keyword, Match Mode.ANYWHERE));

когда я отправляю ключевое слово как test , оно работает, когда я отправляю ключевое слово как sample , оно работает НО, когда я отправляю ключевое слово как test, sample , это не удается не возвращать никакого результата.

Любое решение

спасибо

Ответы [ 2 ]

1 голос
/ 04 июля 2011

Нельзя передать несколько значений однозначному параметру value , например .

Попробуйте использовать Restrictions.or для построения логики, например так:

Restrictions.or(
    Restrictions.like("resume Text", "test", Match Mode.ANYWHERE),
    Restrictions.like("resume Text", "sample", Match Mode.ANYWHERE)
);

Или используйте взамен Restrictions.and , в зависимости от логики сопоставления, которую вы пытаетесь достичь

0 голосов
/ 04 июля 2011

Богемный, на месте, но если у вас будет более 2 или-предложений, то вам, вероятно, лучше использовать Disjunction (или) или Conjunction (и):

        Disjunction orClause = Restrictions.disjunction();
        orClause.add(Restrictions.like("resume Text", "test", Match Mode.ANYWHERE));
        orClause.add(Restrictions.like("resume Text", "test", Match Mode.ANYWHERE));
        orClause.add(...)
        criteria.add(orClause);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...