HibernateTemplate findByExample не возвращает результатов - PullRequest
4 голосов
/ 03 августа 2010

Я пытаюсь использовать Hibernate QBE (на самом деле, Spring HibernateTemplate.findByExample ()), чтобы вернуть список пользователей по их имени пользователя. Для поиска я использую значение «заведомо хорошо» (в базе данных существует имя пользователя «JOHN.SMITH»).

К сожалению, я не получаю результатов обратно. Ниже приведен модульный тест.

@Test
public void testQueryByExample() {

    User qbeUser = new User();
    qbeUser.setUsername("JOHN.SMITH");

    List<User> userList = userDao.queryByExample(qbeUser);
    Assert.notNull(userList);
    Assert.isTrue(userList.size() > 0, "List of returned users must not be 0");

}

Метод queryByExample () определен в обобщенном DAO:

@SuppressWarnings("unchecked")
public List<T> queryByExample(T obj) {
    return getHibernateTemplate().findByExample(obj);
}

Есть ли какая-то специальная конфигурация, необходимая для работы QBE?

Ответы [ 2 ]

7 голосов
/ 03 августа 2010

С моей стороны это была чистая глупость.

В классах, использованных в качестве примеров, были некоторые целые и логические (примитивы).Поскольку эти значения по умолчанию равны 0 и false, запросы не выполняются.

0 голосов
/ 03 августа 2010

вы должны передать конфигурационный файл Spring, иначе как он получит информацию о подключении и пуле .. используйте @ annotation для загрузки файла Spring выше объявления класса.

...