¿Alguna vez has necesitado implementar una búsqueda que maneje tanto valores específicos como campos nulos en tu base de datos? En este artículo te mostraré cómo hacerlo de manera elegante usando JPA y Spring Boot. El Escenario Imaginemos que tenemos una tabla de empleados ( Employee ) y queremos buscar por dos criterios: Departamento (que puede ser null) Salario (que también puede ser null) La Solución Aquí está la consulta JPA que resuelve este problema: SELECT e . * FROM Employee e WHERE ( ( : #{#filters.departmentId} IS NULL AND e.department_id IS NULL) OR ( : #{#filters.departmentId} IS NOT NULL AND e.department_id = :#{#filters.departmentId}) ) AND ( ( : #{#filters.salary} IS NULL AND e.salary IS NULL) OR ( : #{#filters.salary} IS NOT NULL AND e.salary >= :#{#filters.salary}) ) ¿Cómo funciona? Vamos a desglosarlo por partes: 1. Filtro por Departamento ( : #{#filters.departmentId} IS NULL AND e.department_id IS NULL) OR ( : #...