Oracleサポートに連絡し、次のように返信しました(残念ながら、Oracleサポートアカウントが必要なため、回答へのリンクを提供できません):
新しい動作は意図したとおりに機能します :
回避策は私に仕事を提供しました:
回避策#1: 時間コンポーネントを挿入しないようにアプリケーションを変更します(静的なUtilMethodなどを使用)
public static Date truncateTime(Date date) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.MILLISECOND, 0);
return calendar.getTime();
}
回避策#2: MOSからパッチ19297927をダウンロードして適用します:(マイオラクルサポート)
- [パッチと更新]タブをクリックします。
- 上記のパッチ番号を入力し、[検索]をクリックします。
- リストからプラットフォームに対応するパッチ番号をクリックします
- [ダウンロード]ボタンをクリックしてパッチをダウンロードします。
- ダウンロードする前に該当するメモを読んでから、[ダウンロード]ボタンをクリックしてください。
パッチを適用した後、%Oracle_Home%\oracle_common\modules\oracle.jdbc_12.1.0
のojdb7.jarを置き換えます。 -Doracle.jdbc.DateZeroTime=true
を追加します JVM引数に