1
我正在使用以下非常基本的代碼。我正在使用Hibernate針對內部應用的只讀Oracle數據庫運行本機SQL查詢。我允許用戶定義查詢以便以後運行。如何知道Hibernate .list()方法中的返回值是數組還是標量?
大多數查詢都會返回行集,這意味着許多列和可能很多行。
但是,可以說有人使用「從DUAL中選擇sysdate」來測試某個東西......這將返回一個Object []與Timestamp類型的單個項目,所以下面的代碼會因爲無法投射而爆炸時間戳到對象[]
我如何用反射或其他方法告訴外層數組中的內容以便知道如何處理它?如果它只是一個對象而不是數組,我只想toString()它。如果它是一個數組,我想將每行的第一列變成單個字符串。奇怪我知道,但我也在這裏學習。
List<Object[]> rows = sqlQuery.list();
String result = "";
if (rows.isEmpty())
return "NORESULTS";
else
{
for(Object[] row : rows){
result+=row[0].toString();
}
return result;
}
是的!這打擊了頭部!感謝您及時的回覆! –