直接在mysql中使用下面的SQL,我可以成功获取我想要的项目,说" [' item1',' item2']"。
select JSON_EXTRACT(specific_job, '$.items') from t_job where id = 1;
但是当我尝试在我的Spring项目中使用JPA时,如下所示。
@Query(value = "select JSON_EXTRACT(specific_job, '$.items') from t_job where id = ?1", nativeQuery = true)
String findJobItems(Long jobId);
非常奇怪的是,在调用此函数时,查询似乎有效,但只返回项目的第一个字母,例如" ["。
这是弹簧数据JPA的错误吗? 或者有没有更好的方法来提取Spring数据JPA中的json字段?
答案 0 :(得分:1)
您必须将项目转换为varchar。
CAST(myColumn as CHAR(50))