0
我試圖執行以下hql查詢。在字符變化的字段上使用聚合函數
String SQL_QUERY = "SELECT SUM(quantity) as sum FROM SalesDetails sd";
Query query = session.createQuery(SQL_QUERY);
for(Iterator it=query.iterate();it.hasNext();)
{
int row = Integer.parseInt((String) it.next());
System.out.print("MAX QUANTITY: " + row);
}
在模型類使用「數量」的數據類型是字符串。但是當我嘗試執行查詢時,它會給出錯誤。
ERROR: ERROR: function sum(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
Exception in thread "main" org.hibernate.exception.SQLGrammarException: could not extract ResultSet
請幫忙。我將如何在休眠中的字符串值上執行SUM函數。提前致謝!
您在HQL查詢中使用本機sql函數。將查詢類型更改爲NativeSqlQuery或使用休眠條件。 – sAm
sum可以應用於數字,浮點數,而不是字符串..什麼是量化字段應該保存並映射到db中的哪種列? – deepakl
將您的數據字段'quantity'更改爲數字類型! – JimmyB