我這裏有:爲什麼SQLQuery setParameter不能使用LIKE?
Session session = getSession();
SQLQuery query = session.createSQLQuery("SELECT * FROM PERSON WHERE NAME LIKE '%?%'");
query.setParameter(0, personName);
我得到以下錯誤:
java.lang.IndexOutOfBoundsException: Remember that ordinal parameters are 1-based!
但是當我嘗試:
Session session = getSession();
SQLQuery query = session.createSQLQuery("SELECT * FROM PERSON WHERE NAME = ?");
query.setParameter(0, personName);
其工作。
我需要使用LIKE。
你的意思是我必須使用相同,只是把 「%」 上的setParameter? – NinjaBoy 2012-07-17 06:42:58
對不起,錯字。你使用'LIKE',但把'%'放在'setParameter()'調用中。 – Keppil 2012-07-17 06:44:06
謝謝老兄...你救了我一天! – NinjaBoy 2012-07-17 07:02:27