我正在使用 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());
当没有空值或空值时,此查询就像一个魅力。但可能存在 null 或空值traceEntityVO.getLotNumber()、traceEntityVO.getMfrLocId()、traceEntityVO.getExpDate()。
在这种情况下,将根据变量检查值“null”或“”,而不是is null健康)状况。当我不确定参数值(null 或empty)时如何处理?
我不想根据空或空的值动态构建查询。
我认为如果没有动态查询,你真的无法做到这一点。
然而,使用条件 API 构建这样的查询很容易(休眠 http://docs.jboss.org/hibernate/core/3.3/reference/en/html/querycriteria.html) (JPA http://docs.oracle.com/javaee/6/tutorial/doc/gjitv.html),你考虑过吗?
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)