首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >hibernate3中的索引越界异常

hibernate3中的索引越界异常
EN

Stack Overflow用户
提问于 2014-11-18 01:26:29
回答 1查看 93关注 0票数 0

在我的项目中,我以周的方式存储和检索时间表。我有一张这样的桌子

代码语言:javascript
复制
Id projectId activityId     Date       Spenttime
1     1       1          2014-11-10     8  
2     1       1          2014-11-11     8  
3     1       1          2014-11-12     8  
4     1       1          2014-11-13     8  
5     1       1          2014-11-14     8  
6     1       1          2014-11-15     8  
7     1       1          2014-11-16     8  
8     1       2          2014-11-10     8  
9     1       2          2014-11-11     8  
10    1       2          2014-11-12     8  
11    1       2          2014-11-13     8  
12    1       2          2014-11-14     8  
13    1       2          2014-11-15     8  
14    1       2          2014-11-16     8
15    2       1          2014-11-15     8
16    2       1          2014-11-16     8 

我想要上面表格的结果,如下所示

代码语言:javascript
复制
projectId activityId 2014-11-10  2014-11-11 2014-11-12 2014-11-13 2014-11-14 2014-11-15 2014-11-16 
 1           1          8             8         8          8         8          8          8
 1           2          8             8         8          8         8          8          8
 2           1          0             0         0          0         0          8          8

上表的hibernate代码

代码语言:javascript
复制
List<Timesheet> timesheetList=sessionfactory.getCurrentSession.createCriteria(Timesheet.class)
                              .add(Restrctions.between("date",formatter.parse("2014-11-09"),formatter.parse("2014-11-16"))
                              .list();    

检索逻辑:

代码语言:javascript
复制
List<DisplayTable> dispaly=new ArrayList<DisplayTable>();
for(int i=0;i<timesheetList.size();i+=7)
{
DisplayTable disp=new DisplayTable();
disp.setProjectId(timesheetList.get(i).getProjectId());
disp.setActivityId(timesheetList.get(i).getActivityId());
disp.setSpentTimeDate1(timesheetList.get(i).getSpentTime());
disp.setSpentTimeDate2(timesheetList.get(i+1).getSpentTime());
disp.setSpentTimeDate3(timesheetList.get(i+2).getSpentTime());
disp.setSpentTimeDate4(timesheetList.get(i+3).getSpentTime());
disp.setSpentTimeDate5(timesheetList.get(i+4).getSpentTime());
disp.setSpentTimeDate6(timesheetList.get(i+5).getSpentTime());
disp.setSpentTimeDate7(timesheetList.get(i+6).getSpentTime());
}

上面的逻辑在抛出索引出绑定异常的前两个iteration.after中工作得很好。我知道异常是抛出的,因为项目2只包含2行。

他们有什么方法可以在hibernate3中达到预期的结果吗?任何帮助都将不胜感激!

EN

回答 1

Stack Overflow用户

发布于 2014-11-18 01:27:59

将条件更改为

代码语言:javascript
复制
 i < timesheetList.size() - 6

因为你不希望go +7比大小

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26978332

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档