Я получил этот список монет, которые я хочу отфильтровать с этими 3 дополнительными параметрами (Валюта, количество и год)
Как я могу установить параметры в JPQL как необязательные?Я не хочу делать 9 "если еще" для проверки, имеет ли оно значение null
Я получил функцию filtradoMonedas (filterCoins), которая фильтрует объект Moneda (coin), используя эти 3 необязательных параметра, но не работает, если естьПустой параметр.
Это просто хорошо работает, если не установить пустые параметры, если cantidad или ano is "" возвращает исключение из неверного запроса.Просто хочу это по желанию.Вот метод:
public List<Moneda> filtradoMonedas(Divisa divisa, BigDecimal cantidad,
BigDecimal ano){
EntityManager em = getEntityManager();
Query consulta = em.createQuery("SELECT m FROM Moneda m "
+ "WHERE m.divisa = :divisa "
+ "AND m.cantidad= :cantidad "
+ "AND m.ano = :ano");
consulta.setParameter("divisa", divisa);
consulta.setParameter("cantidad", cantidad);
consulta.setParameter("ano", ano);
List<Moneda> filtradoMonedas = (List<Moneda>) consulta.getResultList();
// sincronizar los objetos devueltos con la base de datos
for (Moneda m : filtradoMonedas) {
em.refresh(m);
}
em.close();
return filtradoMonedas;
}