簡體   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