estoy usando JPA, hibernación 3.¿Cómo se maneja si el parámetro de consulta es nulo o está vacío en hibernación?
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 un encanto cuando el no había valores vacíos o nulos. Pero podría haber un valor nulo o vacío para traceEntityVO.getLotNumber(), traceEntityVO.getMfrLocId(), traceEntityVO.getExpDate().
En este caso el valor 'nulo' o '' se compara con la variable en lugar de es nulo condición. ¿Cómo manejo cuando no estoy seguro del valor del parámetro, nulo o vacío?
No quiero construir la consulta de forma dinámica en función de los valores si está vacío o nulo.
¿Esto es posible?
Gracias de antemano ..
He corregido con la consulta dinámica. Construí consultas basadas en las condiciones y pasé la consulta construida al administrador de entidades. Funciona ... Gracias. – Prathap