0

我正在调用本地 EJB,它会为我获取一些评论列表。这里每个评论都有一个特定的创建日期。从这里我需要获取最新评论所以我要做的是检查最新时间,然后使用这个时间来获取最新评论并在 UI 上显示

现在,在测试相同内容时,我面临一个问题,即在 UI 中它不显示最新评论,而是在一段时间内显示最新评论之前的评论。

例如:

我创建了comment1、comment2、comment3、comment4,其中comment1 是最旧的,comment4 是最新的

现在,当我运行我的应用程序时,我在输出中得到了 comment3 而不是 comment4 ,这是预期的,但是大约一个小时后,当我再次运行应用程序时,我可以看到 comment4 。

另外,当我检查日志时,我实际上最初并没有从 EJB 获得 comment4现在这个 EJB 也被部署为 web 服务当我同时运行这个 web 服务时,我也可以看到 comment4

这是任何缓存问题。我无法理解问题所在

如果需要更多详细信息,请告诉我

4

2 回答 2

0

请参阅下面获取最新日期的逻辑。现在根据这个日期,我提取最新评论

private Date getLatestNoteDate(List<AlarmNoteHistoryDTO> noteHistory ) {    
  Date tempDate=noteHistory.get(0).getTimeStamp();    
  for(AlarmNoteHistoryDTO alarmNoteHistory:noteHistory) {        
      if(alarmNoteHistory.getTimeStamp().after(tempDate)) {
        tempDate=alarmNoteHistory.getTimeStamp();
      }  
     return tempDate;
  }
于 2012-04-25T09:03:53.313 回答
0

获取您可能使用了 JPQL 的评论,因为我认为

SELECT MAX(time) from comments 

通过这种方式,您可以获得带有时间戳的最新评论

检查您是否正确查询数据..

于 2012-04-24T15:12:30.740 回答