2012-01-13 14 views
0

私は休止状態を使用するSpringアプリケーションを持っています。この要件は、GMTでタイムスタンプを維持して取得することです。私は以下のようにコンテキストリスナーを使用してアプリケーションのタイムゾーンをGMTに設定しました。Hibernateはローカルタイムスタンプを一貫して返しません

TimeZone.setDefault(TimeZone.getTimeZone( "GMT"));

アプリケーションではGMTでタイムスタンプが一貫して保持されますが、休止状態のレイヤーからタイムスタンプを取得するのは矛盾します。タイムスタンプはPST(サーバーのタイムゾーン)で何度か返されます。

マイデータ検索クエリは

クエリーQ = entityManager.createQuery以下の通りである( "FOOは異なるFを選択FとしてWHERE f.ID = 1 AND f.ID2 = 2 ORDER> ID BY DESC ")。setParameter(1、id1).setParameter(2、id2);

q.setFirstResult(スキップ).setMaxResults(上).getResultList();

この問題を解決するためのアイデアはありますか?

答えて

2

タイムスタンプにタイムゾーンがありません。これは、(絶対的な)値を表示して、タイムゾーンを使用して意味のある時間表現を表示する場合にのみ適用されます。

タイムスタンプを表示する(タイムゾーンを設定するか、タイムスタンプの表示に使用する日付形式で設定する)たびに、適切なタイムゾーンを使用してください。

また、デフォルトのタイムゾーンを設定すると、現在のスレッドに対してのみ設定され、スレッドは現在のスレッドから開始されます。他のスレッドは影響を受けません。

関連する問題