簡體   English   中英

JPA查詢LIKE不起作用

[英]JPA query LIKE does not work

此查詢有什么問題: SELECT i FROM Item i WHERE 1 = 1 AND UPPER(i.nome) LIKE %:nome% ORDER BY UPPER(i.nome) 我嘗試在LIKE'%:nome%'中使用單引號和不使用單引號,但是它不起作用。

Exception in thread "JavaFX Application Thread" java.lang.IllegalArgumentException: An exception occurred while creating a query in EntityManager: 
Exception Description: Syntax error parsing [SELECT i FROM Item i WHERE 1 = 1  AND UPPER(i.nome) LIKE %:nome%  ORDER BY UPPER(i.nome)]. 
[56, 63] The identification variable '%:nome%' is not following the rules for a Java identifier.
    at org.eclipse.persistence.internal.jpa.EntityManagerImpl.createQuery(EntityManagerImpl.java:1605)

正如解釋在這里 ,你需要包裝的價值% ,而設置參數,例如:

query = em.createQuery("SELECT i FROM Item i WHERE 1 = 1  AND UPPER(i.nome) LIKE :nome  ORDER BY UPPER(i.nome)");
query.setParameter("nome","%"+nome.toUpperCase()+"%");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM