Chúng tôi đã liên hệ với Bộ phận hỗ trợ của Oracle và họ đã trả lời như sau (rất tiếc là tôi không thể cung cấp liên kết đến câu trả lời vì cần có Tài khoản hỗ trợ của Oracle):
Hành vi mới hoạt động như dự định :
Các giải pháp thay thế được cung cấp phù hợp với tôi:
Giải pháp # 1: Sửa đổi ứng dụng để không chèn thành phần thời gian (ví dụ:với UtilMethod tĩnh)
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();
}
Giải pháp # 2: Tải xuống và áp dụng bản vá 19297927 từ MOS:(Hỗ trợ Oracle của tôi)
- Nhấp vào tab Bản vá &Cập nhật.
- Nhập số bản vá ở trên và Nhấp vào Tìm kiếm.
- Nhấp vào số bản vá tương ứng với nền tảng của bạn từ danh sách
- Nhấp vào nút Tải xuống để tải xuống bản vá.
- Đọc mọi ghi chú thích hợp trước khi tải xuống, sau đó nhấp vào nút Tải xuống.
Sau khi vá, hãy thay thế ojdb7.jar trong %Oracle_Home%\oracle_common\modules\oracle.jdbc_12.1.0
và thêm -Doracle.jdbc.DateZeroTime=true
đối với Đối số JVM của bạn