2012-02-02 5 views
0

Не могли бы вы помочь выяснить, почему следующий код Java возвращает пустой списокJDBCTemplate.queryForList возвращает пустой список

return this.getJdbcTemplate().queryForList(
    "select cn from group g, group_relationship r, " + 
    "group_member m where g.name='administratorGroup' and g.group_id=r.group_id " + 
    "and r.member_id=m.member_id and m.cn like ?", 
    String.class, 
    new Object[] { cn + "%" }); 

Я тестировалось с помощью SQLPlus, заменить? с 'd%', запрос возвращает список cn start с d.

ответ

0
new Object[] { cn + "%") 

не является правильным в конце, если переменная cn не d.

+0

Благодарим вас за вас, во-первых, cn не является нулевым и вторым cn = d, потому что я делал тестирование JUnit –

0

Убедитесь, что вы не вызываете это для cn == null, так как в таком случае cn + "%" становится "null%", и поэтому он, вероятно, возвращает 0 записей.

0

Благодарим вас за помощь. Проблема решена. Я не знал, что тест JUnit использует in-memory db, пытаясь сравнить результат теста JUnit с тестом db после добавления записей в db in-memory, test return correct

Смежные вопросы