我在这里:
Session session = getSession();
SQLQuery query = session.createSQLQuery("SELECT * FROM PERSON WHERE NAME LIKE '%?%'");
query.setParameter(0, personName);
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
java.lang.IndexOutOfBoundsException:请记住,序数参数是从1开始的!
但是当我尝试:
Session session = getSession();
SQLQuery query = session.createSQLQuery("SELECT * FROM PERSON WHERE NAME = ?");
query.setParameter(0, personName);
Run Code Online (Sandbox Code Playgroud)
它的工作.
我需要使用LIKE.
你可以这样做:
Session session = getSession();
SQLQuery query = session.createSQLQuery("SELECT * FROM PERSON WHERE NAME LIKE ?");
query.setParameter(0, "%" + personName + "%");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7749 次 |
| 最近记录: |