1
我使用JPA,並具有以下本地PostgreSQL的查詢:原生查詢參數沒有在Java中通過Java EE工作EE
@NamedNativeQuery(name = "Player.getStandardDev", query ="SELECT STDDEV(?1) FROM Player WHERE ?2 IS NOT NULL")
(我意識到可能是不需要IS NOT NULL
檢查,但是這不是在這種情況下問題的來源)。
然後我有下面的代碼試圖執行查詢:
Query query = getEntityManager().createNamedQuery("Player.getStandardDev");
query.setParameter(1, attribute);
query.setParameter(2, attribute);
return (BigDecimal) query.getSingleResult();
當getSingleResult()
被調用時,我收到以下錯誤:
org.postgresql.util.PSQLException: ERROR: function stddev(character varying) does not exist
Hint: No function matches the given name and argument types. You might need to add explicit type casts.
Position: 8
我想這是因爲到setParameter
來電工作不正常,所以沒有更換?
s
有沒有其他的方式來使用本機查詢whe你可以設置參數。