[英]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'
从string
到JSONB
。 但是,我强烈建议您不要将TEXT
用于您的JSON
类型数据。
ALTER TABLE employee ALTER COLUMN data TYPE JSON USING data::JSON;
`
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.