我想從JPA類中調用一個簡單函數,該函數根據一些計算返回一個數字,並具有以下定義。從JPA調用oracle函數
'CREATE OR REPLACE FUNCTION CFB.FC_AMOUNT_CHECK(accountNumber IN VARCHAR2)
return NUMBER IS .....'
我想從JPA以下面的方式調用這個函數。
StringBuilder sql = new StringBuilder("call CFB.FC_AMOUNT_CHECK(:accountNumber)");
Query query = em.createNativeQuery(sql.toString());
query.setParameter(1, '1234');
List<?> result = query.getResultList();
....
然而,當我執行這個類,我得到了下面的異常所有的時間:
java.lang.IllegalArgumentException: org.hibernate.QueryParameterException: could not locate named parameter [1]
我不能似乎得到JPA怎麼也找不到參數1 ......在過去的4個小時裏,我一直在嘲笑我。任何人都可以請建議如何得到我想要的結果?
從未在Hibernate中工作。不確定:這條線是否正確? 'query.setParameter(1,'1234');' – Guru 2011-04-16 17:12:07
是的,這是JPA中的有效語句。 – Prashanth 2011-04-16 17:15:23
你可以嘗試'query.setParameter(「accountNumber」,'1234');'讓我知道結果對我? – Guru 2011-04-16 17:36:09