Condicional Donde las cláusulas en JasperReports

Digamos que quiero un JasperReport que le permita al usuario filtrar una fecha si así lo desean. El SQL es el siguiente:

select * from foo where bar = $P{bar} and some_date > $P{some.date}

Ahora, no quiero filtrar por alguna fecha si no pasaron la fecha. Encontré el siguiente kludge que usa la gente:

select * from foo where bar = $P{bar} $P!{some.date.fragment}

Y elsome.date.fragment El parámetro se define con el siguiente valor predeterminado:

($P{some.date} == null || $P{some.date}.equals("")) ? "" : "AND some_date >'" + new java.sql.Date($P{some.date}.getTime()).toString() + "'"

Esto no funciona como eltoString no muestra la fecha en un formato que mi servidor SQL entiende. Me gustaría que el condicional aún use una declaración preparada con el controlador jdbc y lance el parámetro, solo quiero que la declaración preparada dependa de si el parámetro es nulo o no. Se puede hacer esto?

Respuestas a la pregunta(3)

Su respuesta a la pregunta