我尝试对以列表形式存储值的列使用json_exists
函数-即[["a", "b"], ["c", "d"]]
。
使用criteriaBuilder中的json_Existes函数检查该列中是否有给定子列表。例如,如果给定值是该列表的子集-[“a”,“b”],则返回TRUE。我尝试使用下面的代码,但失败了。
predicates.add((cb.function("JSON_EXISTS", String.class, new HibernateInlineExpression(cb, "column_name"),
cb.literal()
new HibernateInlineExpression(cb,
"'$.[*]?(@ == "+ sublistValue + ")'")).in(Boolean.TRUE)));
例外情况:
Org.hibernate.QueryException:意外字符:‘@’
有什么建议吗?
1条答案
按热度按时间toiithl61#
我不知道你的模型是什么样子,但你应该使用下面这样的东西: