簡體   English   中英

將一些MYSQL放入命名查詢

[英]to put some MYSQL to a named query

我需要將一些MySQL代碼轉換為JPA命名查詢

從標題為“%matrix%”的電影中選擇*

我會猜嗎

 @NamedQuery(name = "Movies.findMoviePart", query = "SELECT c FROM Movies c where c.title LIKE '% :title %'")}) be but it has some errors 

org.springframework.dao.InvalidDataAccessApiUsageException:org.hibernate.QueryParameterException:找不到命名參數[title]; 嵌套異常是java.lang.IllegalArgumentException:org.hibernate.QueryParameterException:找不到命名參數[title]

dao impl中的代碼

@Override公共列表getAllPartMovie(字符串標題){
TypedQuery查詢= entityManager.createNamedQuery(“ Movies.findMoviePart”,Movies.class); query.setParameter(“ title”,title); 嘗試{return query.getResultList(); } catch(NoResultException ex){// geen記錄gevonden返回null; }

坦克幫你

不要將%添加到查詢中,而是將它們添加到查詢中的參數中:

query.setParameter("title", "%" + value + "%");

另一個與您幾乎相同的問題: 如何指定一個由通配符包圍的JPA命名參數?

暫無
暫無

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

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