私はnamedQueryスルーを持っており、以下のように2つのパラメーターを渡します。
ArrayList idName= new ArrayList();
idName.add(id); --int
idName.add(ABC); --String
そして、このオブジェクトを次のように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つのパラメーターが必要です。なにが問題ですか?高く評価されている例はありますか?