![](/img/trans.png)
[英]Cannot mix JPA positional parameters and native Hibernate positional/ordinal parameters
[英]Problem with positional parameters in JPA native query
我正在嘗試:
String sql = "SELECT email FROM users WHERE (type like 'B') AND (username like '?1')";
List results = em.createNativeQuery(sql).setParameter(1, username).getResultList();
但我得到IllegalArgumentException,它告訴我參數超出范圍。 我究竟做錯了什么?
參數周圍沒有引號。 試試這個:
String sql = "SELECT email FROM users WHERE (type like 'B') AND (username like ?1)";
你可能還想仔細檢查一下你是否真的意思type like 'B'
這樣的type like 'B'
因為這可能不符合你的想法。
a)為什么要使用本機SQL進行這樣的簡單查詢? 使用JPQL。
b)為什么要使用,如果你不使用通配符? 使用=
代替。
String jpql =
"SELECT u.email FROM users u WHERE (u.type = 'B') AND (u.username = '?1')";
List results =
em.createQuery(jpql)
.setParameter(1, username)
.getResultList();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.