Insert Jdbc Campo Data e Hora Erro : java.util.Date cannot be cast to java.sql.Date

Preciso executar um insert e um dos campos é dataHora, segue abaixo o codigo:

[CODE]
String sql = “”
+ “insert into XXXXXX(id, data_hora)”
+ “values(nextval(‘xxxxxxxxx’),?)”;

     Connection connection = createConnection();
      stm = connection.prepareStatement(sql);
     Date dataHora = buildDateTime(vo);
    	stm.setDate(26, (java.sql.Date) dataHora);

public Date buildDateTime(VoMarcacao vo) {
Calendar calendar = Calendar.getInstance();

int d = Integer.parseInt(vo.getDiam());
int mo = Integer.parseInt(vo.getMesm());
int y = Integer.parseInt(vo.getAbom());
int h = Integer.parseInt(vo.getHoram().substring(0, 2));
int m = Integer.parseInt(vo.getHoram().substring(2, 4));
int s = Integer.parseInt(vo.getSeg());

int ano;
if (vo.getAbom().length() == 2) {
   ano = Integer.valueOf("20".concat(vo.getAbom()));	
} 
else if (vo.getAbom().length() == 1) {
   ano = Integer.valueOf("2".concat(vo.getAbom()));

} else {
   ano = Integer.valueOf(vo.getAbom());

}

calendar.set(Calendar.DAY_OF_MONTH, d);
calendar.set(Calendar.MONTH, mo-1);
calendar.set(Calendar.YEAR, ano);

calendar.set(Calendar.HOUR_OF_DAY, h);
calendar.set(Calendar.MINUTE, m);
calendar.set(Calendar.SECOND, s);

return calendar.getTime();
}

[/CODE]

Ola,

No lugar do código acima coloque:

stm.setDate(26, new java.sql.Date(buildDateTime(vo).getTime()));

@campelo.m,

Acabei de testar, não deu erro, porém não esta gravando a Hora, apenas a Data e preciso gravar Data e Hora,

sabe o que pode ser ???

Ainda esta dando o mesmo erro?

O campo no banco eh do tipo datetime?

@campelo.m

Não está dando erro, porém soh está gravando data e não data e hora

O campo é timestamp

Sabe o que pode ser??

coloque

stm.setTimestamp(26, new java.sql.Timestamp (buildDateTime(vo).getTime()))

no lugar de:

stm.setDate(26, new java.sql.Date(buildDateTime(vo).getTime()));

@campelo.m, obrigado, deu certo…