Du skal bruge java.sql.Timestamp ikke java.sql.Date
java.util.Date er kun til "rigtige" datokolonner og vil fjerne tidsdelen. Hvis du har brug for at gemme dato og tid du skal bruge java.sql.Timestamp .
Og selvfølgelig skal du bruge setTimestamp() i stedet for setDate() også.