Java: -Conting Oggetto memorizzato in HashMap a SQL Data Tipo
-
28-10-2019 - |
Domanda
Ho questo problema .. Ho un hashmap contenente la stringa come chiave e oggetto come valore. Ho un oggetto di data al suo interno ... mentre imposta il valore per la chiamata di procedura memorizzata a DB, voglio convertirlo in tipo di data SQL ..
Frammento di codice ..
this.cStmt.setDate(15,(java.sql.Date) (SubsProfile.get(Constants.SUBSC_DETAILS_EXPIRY_DATE_1)));
Tuttavia, durante l'esecuzione, sto ottenendo ClasscastException ..
Eccezione:-
java.lang.ClassCastException: java.util.Date cannot be cast to java.sql.Date
Per favore aiutami a convertirlo in tipo di appropriazione ...
Soluzione
Questo perché, come dice l'eccezione, il tuo oggetto è Java.util. Date, e lo stai lanciando su Java.SQL.Data!
Fai questo:
java.sql.Date sqlDate = new java.sql.Date(((java.util.Date)SubsProfile.get(Constants.SUBSC_DETAILS_EXPIRY_DATE_1)).getTime());
this.cStmt.setDate(15,sqlDate);
Altri suggerimenti
Ottieni il lungo valore dell'oggetto Java.util.Date che hai e crea un oggetto Java.sql.Date usando quel valore lungo.
java.util.date utildate = new java.util.date ();
java.sql.date sqldate = new java.sql.date (utilda.getTime ());
Questo dovrebbe aiutarti a convertire util.date in sql.date