2012-04-24 6 views
0

私はいくつかのコメントリストを取り出すローカルEJBを呼び出しています。すべてのコメントに特定の作成日があります。これから最新のコメントを取り出す必要があります。この時間を使用して最新のコメントを取得してUIに表示しますEJBが間違った出力を出す

これで、UIでは最新のコメントは表示されず、最新のコメントの前にいくつかの期間コメントが残るという問題に直面しています。 EXのために

私はコメント1が最も古く、comment4をイアどこに作成コメント1、コメント2、コメント3、comment4を持っている私は、出力にコメント3をいない取得しています、私は自分のアプリケーションを実行していたときに今、最新の

です私はcomment4を見ることができます。私は実際に私は同時に、このWebサービスを実行すると、今、このEJBはまた、Webサービスとして展開され、最初はEJB からcomment4を取得していない午前ログをチェックするとき

も私もcomment4を見ることができる

これはキャッシュの問題ですか?私は問題

が何であるかを理解することはできませんよ詳細は、私が

SELECT MAX(time) from comments 

を推定として、あなたはこの方法であなたをJPQLを使用した可能性がありますコメントを得ることが

+0

最新のコメントと、それらを永続させる方法(最新のコメントを得る方法)を提供してください。 –

答えて

0

を必要な場合は私に知らせてください正しくデータクエリ場合..

+0

最新の日付を取得するロジックを下記に示します。今この日付に基づいて、最新のコメントを抽出します。private Date getLatestNoteDate(List noteHistory){ Date tempDate = noteHistory.get(0).getTimeStamp(); (AlarmNoteHistoryDTO alarmHistory:noteHistory)用 { IF(alarmHistory.getTimeStamp())tempDate(後){ tempDate = alarmHistory.getTimeStamp()。 } return tempDate; } – Programmer

+0

これは正しいですが、noteHistoryリストのサイズが非常に大きい場合は、パフォーマンスも考慮してください.DTO自体でJPQLでフィルタリングされた日付を取得することは、パフォーマンス面で優れていますか? – Sanath

+0

JPQLでこれを行うことができないという制約がいくつかあります – Programmer

0

をタイムスタンプ

チェックして最新のコメントを得ることができるフェッチのロジックは、下記を参照してください最新の日付。現在、この日付に基づいて最新のコメントを抽出します。