2012-01-31 13 views
6

Sto cercando di elencare le date registrate in una tabella con SQL Server, ma il mio problema è che tutte le date che sto estraendo differiscono di 2 giorni con le date nella tabella.Problema con estrazione data in SQL Server

Per esempio, ho avuto 2012/12/25 nel mio database e quando ho recuperarlo e gettato in un Java.util.Date, esso diviene 2012/12/23 ...

ho ottenuto processi su date in un'altra tabella che stanno funzionando bene.

sto usando SQL Server 2008, Hibernate e Spring 3 3.

Edit:

Il tipo di dati di colonna per la tabella è data, che sto Recupero utilizzando hibernate: ecco il mio hibernate chiamata query:

public List<Holiday> retrieveAllHolidays() { 
    return (List<Holiday>) sessionFactory.getCurrentSession().createQuery("from Holiday") 
    .list(); 
} 

L'oggetto vacanza ha due attributi: una stringa e una data (questo non è corretto dopo il recupero dal database).

+1

Qual è il tipo di dati della colonna nella tabella? Come stai recuperando la data? Puoi mostrare il codice per il più piccolo programma possibile che mostri il problema? – Pondlife

+0

Ho aggiornato il mio post. – Tony

+0

prova ad usare un oggetto calendario .. avresti bisogno di aggiornare il tuo mapping con 'type = 'java.util.Calendar'' il problema di solito è con l'oggetto java.util.Date .. ero solito affrontare tali problemi, poi io passato a 'Caneldar' –

risposta

4

Il problema era collegato al supporto JRE 7 del driver JDBC (un problema con la funzione getDate()).

Vedi questo post per maggiori informazioni: Microsoft JDBC driver team blog

Grazie ancora Martin Smith per indicando che altra questione!

Problemi correlati