我有一个查询
String query = "Select *
from brand brd
join product prd on brd.prd_id = prd.id
join price prc on prc.id = prd.prc_id";
if(!bo.brd.isEmpty() || !bo.prd.isEmpty())
query.append(" where " );
if(!bo.brd.isEmpty()) && !bo.prd.isEmpty())
query.append(brd.id in (:brdId) and prd.id in (:prdId));
else if(!bo.brd.isEmpty())
query.append(brd.id in (:brdId)) ;
else if(!bo.prd.isEmpty())
query.append( prd.id in (:prdId));
query.createNativeQuery(query)
.setParameterList("brdId",brdLst)
.setParameterList("prdId",prdLst)
.getResultList();
所有参数都是可选的。我正在使用休眠本机查询,并使用setParameterlist设置所有参数。当列表为空或无法找到该参数时,我正在获取brdId或prdId。如何动态更改查询参数?