Здесь where a1.color= true
не работает в java. Когда я выбираю любой цвет в выпадающем списке, возникает ошибка.
//fist part
Public List<ConclusionBO> getConclusion(String color){
StringBuilder sql = new StringBuilder();
sql.append("select something");
sql.append("where a1.color= :colorParam");
//More statement
if(transactionStatus.equals("all")) {
query.setParameter("colorParam", true);
}else {
query.setParameter("colorParam", color);
}
}
Приведенный ниже код, когда я так делаю, работает хорошо для любого цвета, который я выбрал из выпадающего списка. Но когда все выбрано из выпадающего списка, оно не показывает результата (конечно, потому что моя база данных не имеет значения «все» для цвета столбца)
//second part
sql.append("select something");
sql.append("where a1.color= :colorParam");
//More statement
query.setParameter("colorParam", color);
Моя проблема в том, что я хочу выбрать все цвета (все записи) из базы данных, когда пользователь выбирает «все» из выпадающего списка, поэтому в первой части я установил where a1.status = true
, потому что я хочу, чтобы вернул весь результат , но он закончился up return error.
В журнале выдается сообщение об ошибке:
Не все именованные параметры установлены: [цвет]
Я хочу уточнить, что // код второй детали работает просто так, что он не может ничего показывать, когда все выбрано из выпадающего списка, потому что в моей базе данных нет «всего» для цветного столбца.