Я обнаружил, что определение переданного параметра как String
работает даже в SQL; т.е. в .jrxml:
<parameter name="headerid" class="java.lang.String">
<parameterDescription><![CDATA[ID this report is for]]></parameterDescription>
<defaultValueExpression><![CDATA['1']]></defaultValueExpression>
</parameter>
Используйте его в SQL как целое число; i.e.:
where header.id = $P{headerid}