Musisz użyć java.sql.Timestamp nie java.sql.Date
java.util.Date dotyczy tylko kolumn z „prawdziwymi” datami i usunie część czasu. Jeśli chcesz przechowywać datę i czas, w którym musisz użyć java.sql.Timestamp .
I oczywiście będziesz musiał użyć setTimestamp() zamiast setDate() również.