0
I는 I 2 개 파라미터를 아래와 같이 건네 따라 자른 namedQuery을 가지고org.hibernate.QueryException : 예상 위치 파라미터
ArrayList idName= new ArrayList();
idName.add(id); --int
idName.add(ABC); --String
다음과 같이 I는 namedQuery이 객체를 전달한다
return getHibernateTemplate().findByNamedQuery("findIDAndName", idName);
및 내가 응용 프로그램을 실행할 때 내 hbm.xml이 쿼리를 가지고,
<sql-query name="findIDAndName">
<return alias="IdNamePmt" class="com.app.Grp.model.IdNamePmt"/>
<![CDATA[select * from PMT.CSE_NME_VW where PMT_ID=? and PMT_NAME=?]]>
</sql-query>
나는 아래의 오류가 발생합니다 :
org.hibernate.QueryException: Expected positional parameter count: 2, actual parameters: [[7, ABC]] [select * from PMT.CSE_NME_VW where PMT_ID=? and PMT_NAME=?]
at org.hibernate.impl.AbstractQueryImpl.verifyParameters(AbstractQueryImpl.java:367)
at org.hibernate.impl.SQLQueryImpl.verifyParameters(SQLQueryImpl.java:228)
at org.hibernate.impl.SQLQueryImpl.list(SQLQueryImpl.java:172)
2 개의 매개 변수를 전달했으며 'where'절도 2 개의 매개 변수를 필요로합니다. 뭐가 잘못 되었 니? 모든 사례가 높이 평가됩니까?
해야한다 생각합니다. 어떤예요? – JNPW
'findByNamedQuery()'의 두 번째 인수는 배열이 아니고리스트 여야합니다. 아직도 예외가 있습니까? 오류 메시지 란 무엇입니까? – Guillaume