[英]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.