0

コメントのリストを取得するローカルEJBを呼び出しています。ここでは、すべてのコメントに特定の作成日があります。これから、最新のコメントを取得する必要があります。最新のコメントを UI に表示する

同じことをテストしているときに、UI で最新のコメントが表示されず、最新のコメントの前にコメントが表示されるという問題に直面しています。

例:

私はcomment1、comment2、comment3、comment4を作成しました.comment1は最も古く、comment4は最新です

アプリケーションを実行しているときに、出力に comment3 が表示されますが、これは予期されるものではありませんが、約 1 時間後にアプリケーションを再度実行すると、 comment4 が表示されます。

また、ログを確認すると、最初は実際には EJB からコメント 4 を取得していません。現在、この EJB は Web サービスとしてもデプロイされています。この Web サービスを同時に実行すると、コメント 4 も表示されます。

これはキャッシュの問題ですか。何が問題なのか理解できません

詳細が必要な場合はお知らせください

4

2 に答える 2

0

コメントを取得するために、私が推測するようにJPQLを使用した可能性があります

SELECT MAX(time) from comments 

このようにして、タイムスタンプ付きの最新のコメントを取得できます

データを正しくクエリするかどうかを確認してください。

于 2012-04-24T15:12:30.740 に答える
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 に答える