[英]JPQL LIKE syntax with Strings
編輯:
我將硬編碼查詢更改為:
query.setParameter("desc", "%unplug //your// server... enjoy the freedom%" ESCAPE '//')
現在我得到了com.sun.jdi.InvocationException occurred invoking method.
也沒有產生堆棧跟蹤。
我的PostgreSQL數據庫中有一個description列,我試圖用'LIKE'子句查詢它,但是我無法獲得任何結果。 這是一個例子:
Query query = em.createQuery("from MyClass c WHERE c.description LIKE :desc");
query.setParameter("desc", "%unplug /your/ server... enjoy the freedom%");
在數據庫中,我有很多描述,其中包含上述文本的子字符串。 我做了很多研究,並研究了轉義特殊字符等問題,但是沒有任何效果。
我缺少了一些東西,我只是無法弄清楚那是什么。
最有可能的是,斜杠/弄亂了PG中的解析。 將參數轉換為帶引號的文字。 除非您確定字符串參數中沒有特殊字符(即您控制字符串),否則避免SQL注入始終是一個好主意。
query.setParameter("desc", "quote_literal('%unplug /your/ server... enjoy the freedom%')");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.