Como lidar se o parâmetro de consulta é nulo ou vazio no modo de hibernação?

Estou usando o JPA, hibernate 3.

String sqlQuery = " FROM TraceEntityVO  where lotNumber =:lotNumber and mfrLocId=:mfrLocId and mfrDate=:mfrDate and qtyInitial=:qtyInitial and expDate=:expDate";
Query query = entityManager.createQuery(sqlQuery)
                .setParameter("lotNumber", traceEntityVO.getLotNumber())
                .setParameter("mfrLocId", traceEntityVO.getMfrLocId())
                .setParameter("mfrDate", traceEntityVO.getMfrDate())
                .setParameter("qtyInitial", traceEntityVO.getQtyInitial())
                .setParameter("expDate", traceEntityVO.getExpDate());

Esta consulta funciona como um encanto quando não havia valores vazios ou nulos. Mas pode haver possibilidade de valor nulo ou vazio paratraceEntityVO.getLotNumber (), traceEntityVO.getMfrLocId (), traceEntityVO.getExpDate ().

Nesse caso, o valor 'null' ou '' é verificado em relação à variável em vez deé nulo condição. Como eu ligo quando não tenho certeza sobre o valor do parâmetro, seja nulo ou vazio?

Eu não quero construir a consulta dinamicamente com base nos valores, se vazio ou nulo.

Isso é possível?

Desde já, obrigado..

questionAnswers(2)

yourAnswerToTheQuestion