Você precisa usar
java.sql.Timestamp
não java.sql.Date
java.util.Date
é apenas para colunas de data "reais" e removerá a parte do tempo. Se você precisar armazenar a data e tempo você tem que usar java.sql.Timestamp
. Do Javadocs :
E é claro que você precisará usar
setTimestamp()
em vez de setDate()
também.