Domanda

Ho la seguente mappatura per la data di nascita nel file hbm.xml

    <property name="birthDate" type="date">
    <column name="birth_date" length="4" />
    </property>>

Il nome / tipo della colonna nel database Postgresql sono: data_di nascita | data
Di tanto in tanto la data viene inserita in modo errato - è circa lo 0,03% dei casi, il risultato è una data strana, cioè un anno 2456 Quale può essere una ragione?Sospetto che la lunghezza della colonna 4 nel file hbm.xml forse non è sufficiente, non ne sono sicuro.

La versione di ibernazione è la 3.1

È stato utile?

Soluzione 2

Ho sbagliato a dare la colpa del problema a Hibernate.Il problema era in SimpleDateFormat.Qualcuno prima di me ha specificato un oggetto di classe statica di questa classe.Nell'ambiente multithread ciò ha comportato una formattazione della data errata prima dell'uso da parte di Hibernate

Altri suggerimenti

Se sei nuovo nell'ibernazione, mantieni le dichiarazioni il più semplici possibile.Quindi, se vuoi aggiungere un oggetto Date nella mappatura, usa il codice seguente.

Nel file di mappatura,

<property column="CREATED_DATE" name="createdDate" />

Nella classe java,

java.lang.util.Date createdDate
//getters & setters

Una volta che è stabile e funziona, puoi iniziare a giocare con più opzioni nella mappatura.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top