繁体   English   中英

使用 EntityManager 获取 sql 记录时出错

[英]Error while getting sql record using EntityManager

我在 spring 启动应用程序中使用EntityManager来获取此查询的结果

select (c.data::jsonb)->>'employee_Id' as empId from employee e where e.dept ='employee' and  (e.data::jsonb)->>'section_id' = '1235'

它给了我正确的 output 在PgAdmin但在 java 代码List resultList = em.createNativeQuery(str).setParameter(1, sectionId ).getResultList();

给出错误 ERROR: syntax error at or near ":"它在data::jsonb处中断。如何使用EntityManager处理此问题。

你需要像CAST CAST(c.data as jsonb)->>'product_id'stringJSONB 但是,我强烈建议您不要将TEXT用于您的JSON类型数据。

 ALTER TABLE employee ALTER COLUMN data TYPE JSON USING data::JSON;

`

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM