Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Criteria для выбора по вхождению текста 
V
    Опции темы
Swatch
Дата 5.2.2008, 09:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 453
Регистрация: 2.7.2007

Репутация: 1
Всего: 1



Добрый день. 

В БД есть таблица, состоящая из нескольких полей, одно из которых - текст. Надо выбрать сообщения, в которых в поле текст встречается введенное пользователем слово. 
Написала вот такой классик для составления списка:
Код

public class searchstatements_list implements IList, java.io.Serializable {

    private List _list;
    private String _search_string;

    public String getSearchString() {
        return _search_string;
    }

    public void setSearchString(String _search_string) {
        this._search_string = _search_string;
    }

    public Criteria createCriteria(Session session) {
        Criteria c = session.createCriteria(statements.class);
        if (_search_string != null) 
            c.add(Expression.like("text", "%_search_string%"));
        c.addOrder(Order.asc("id"));
        return c;
    }

    public void setList(List result) {
        _list = result;
    }

    public List getList() {
        return _list;
    }

    public void copyTo(Object dest) {
    }
}


Пытаюсь загрузить список с сервера:
Код

            sl = new searchstatements_list();
            sl.setSearchString(searchByTextField.getText());
            sl = (searchstatements_list) ConnectToServer.getLists(sl);


sl.getList().size() - возвращает 0. хотя я ввожу слово, которое точно есть в тексте нескольких сообщений в БД...   Возможно я как-то не правильно описала Criteria. Помогите, пожалуйста... может кто-то заметит, где ошибка?! 
PM MAIL   Вверх
iluvatar
Дата 5.2.2008, 11:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 266
Регистрация: 17.9.2007

Репутация: 4
Всего: 4



Может, все-таки вот так:
Код

 c.add(Expression.like("text", "%" + _search_string + "%"));


Добавлено через 3 минуты и 35 секунд
А где вызывается метод createCriteria(session)? И где criteria.list()?
PM MAIL ICQ   Вверх
Swatch
Дата 5.2.2008, 12:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 453
Регистрация: 2.7.2007

Репутация: 1
Всего: 1



Спасибо! помогло!!! smile

createCriteria(session) и criteria.list() вызываются в классе HibernateUtil.... это классик, который отвечает за загрузку, удаление, сохранение....


PM MAIL   Вверх
iluvatar
Дата 5.2.2008, 13:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 266
Регистрация: 17.9.2007

Репутация: 4
Всего: 4



не заыбваем помечтать как решеное ))
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.0645 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.