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