就像下面的代码一样,我想创建一个Spring“规范”来通过动态查询结构查询某些内容。但是表中有一个json类型列,我想让该行包含json列中的指定键和值,因此我想创建一个与SQL相同的条件:
选择*从任务WHERE JSON_CONTAINS(内容,值,键)
if(contentKey != null && contentValue != null){
ParameterExpression param1 = criteriaBuilder.parameter(String.class);
ParameterExpression param2 = criteriaBuilder.parameter(String.class);
ParameterExpression param3 = criteriaBuilder.parameter(String.class);
TypedQuery q = em.createQuery(criteriaQuery.where(criteriaBuilder.function("JSON_CONTAINS", Boolean.class, param1, param2, param3)));
q.setParameter(param1, "content");
q.setParameter(param2, "\"" + contentValue + "\"");
q.setParameter(param3, "$." + contentKey);
predicates.add();
}
return criteriaBuilder.and(predicates.toArray(new Predicate[0]));
但是我找不到任何设置参数的方法,有什么方法可以解决这个问题?谢谢。