Oracleテーブルの「生年月日」列を照会するEJB2.1エンティティBeanがあります。データベースの列のタイプはDATEです。クエリは、1つの特定の日付(1916年5月1日)を除いて問題なく機能します。
これは夏時間と関係があります。Oracleは、日付を5/1/1916 1:00:00 AMとして格納しますが、他のすべての日付の時刻は12:00:00 AMに設定されます(例:1/7/1971 12:00:00 AM)。
本番/受け入れシステムでは、1916年5月1日のクエリ(EJB-QL!を使用)は結果を返しません。奇妙なことに、それは私の開発/テストシステムで機能します。さまざまなシステムのデータベース設定を確認したところ、DBTIMEZONEパラメーターが開発/テストボックスで+00:00に設定され、本番/受け入れボックスで+02:00に設定されていることがわかりました。ただし、タイムゾーンを+02:00に変更しても違いはありません。
この動作の原因は何ですか?この生年月日を検索するにはどうすればよいですか?