Проблема, конечно, в том, что вы пытаетесь вызвать getTime
на date
, который может быть null
.
Приложение Java будет читать данные из этой таблицыи вставьте в другую таблицу.
Если это правда, то я бы ожидал, что date
до уже будет java.sql.Date
(или null
), и вы можете простоиспользуйте его напрямую:
ps.setDate(3, date);
Если date
действительно не java.sql.Date
, то вы можете использовать условный оператор:
ps.setDate(3, date == null ? null : new java.sql.Date(date.getTime()));
Можно передать null
вsetDate
(по той же причине он работает в setString
).Вам нужно только setNull
, когда тип Java, который вы используете со столбцом, является примитивным типом (например, int
).Поскольку вы не можете позвонить setInt
с null
, где должен быть int
, вы должны использовать setNull
в этой ситуации.Это не проблема для setDate
, однако.