hibernate面對多表查詢返回裝載Object物件的list的處理辦法 (補16年12月)
阿新 • • 發佈:2019-02-06
涉及到多表查詢,使用的是原生sql語句,返回值是list,但list裝載的是Object物件,並不是實體物件,為了使用方便,添加了多表實體類,以下是關鍵程式碼
pageResearch() 是分頁查詢方法,limit是每頁顯示記錄數,begin是第幾頁
List rockList = rockManager.pageResearch(hqlString.toString(), begin, limit); List<RockObjectValue> rockData = new LinkedList(); if(rockList !=null && rockList.size() > 0){ for(int i = 0; i < rockList.size(); i++ ){ Object[] object = (Object[])rockList.get(i); String code = (String)object[0]; Date monitordate = (Date)object[1]; Date creatdate = (Date)object[2]; double value = (double)object[3]; double sinkvalue = (double)object[4]; double coraccuvalue = (double)object[5]; double sinkspeed = (double)object[6]; int interval = (int)object[7]; String testperson = (String)object[8]; RockObjectValue rockObjectValue = new RockObjectValue(); rockObjectValue.setCode(code); rockObjectValue.setMonitordate(monitordate); rockObjectValue.setCreatdate(creatdate); rockObjectValue.setValue(value); rockObjectValue.setSinkvalue(sinkvalue); rockObjectValue.setCoraccuvalue(coraccuvalue); rockObjectValue.setSinkspeed(sinkspeed); rockObjectValue.setInterval(interval); rockObjectValue.setTestperson(testperson); rockData.add(rockObjectValue); } }