一尘不染

在hibernate中,如何处理查询参数为空或为空?

hibernate

我正在使用JPA,hibernate3。

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());

当没有空值或空值时,此查询就像一个超级按钮。但是
traceEntityVO.getLotNumber(),traceEntityVO.getMfrLocId(),traceEntityVO.getExpDate()的

值可能为null或为空

在这种情况下,将针对变量而不是 null 条件来检查值’null’或’‘ 。当我不确定参数值是否为null或为空时,该如何处理?

我不想基于空或null的值动态构造查询。

这可能吗?

提前致谢..


阅读 1058

收藏
2020-06-20

共1个答案

一尘不染

我认为,如果没有动态查询,您真的无法做到这一点。

但是,使用条件API(hibernate)(JPA)来构建这样的查询很容易,您认为呢?

2020-06-20