Ho provato a utilizzare lo DataTime
nella mia classe entity
. Aggiungendo @Temporal(TemporalType.DATE)
sopra il campo, ho ricevuto l'errore dicendo "Il campo o proprietà persistente per un tipo temporale deve essere di tipo java.util.Date, java.util.Calendar o java.util.GregorianCalendar". Posso introdurre la conversione avanti e indietro; utilizzando setter e getter come segue:Come utilizzare il tempo joda con JPA (eclipselink)?
@Temporal(TemporalType.DATE)
private Calendar attendanceDate;
public DateTime getAttendanceDate() {
return new DateTime(this.attendanceDate);
}
public void setAttendanceDate(DateTime attendanceDate) {
this.attendanceDate = attendanceDate.toCalendar(Locale.getDefault());
}
ma spero eclipselink
di farlo per me. Sono andato attraverso 'Persist Joda-time's DateTime via Hibernate. La risposta suggerisce di usare l'ibernazione, ma devo usare eclipselink. Posso usare l'oggetto DateTime
nella mia classe di entità con rappresentazione DB come BLOB
, ma ho bisogno di esso come Date
. C'è qualcosa come jodatime-eclipselink
? O qualche altro suggerimento? Grazie per l'aiuto.
Per quanto riguarda la creazione DDL, nel mio metodo di inizializzazione ho questo: mapping.getField() .setSqlType (java.sql.Types.TIMESTAMP); Tuttavia, il tipo che è stato creato nel mio db è varchar (255). Qualunque idea del problema potrebbe essere? –
@kaciula Ho avuto modo di farlo aggiungendo questo : 'mapping.getField(). setType (java.sql.Timestamp.class);'. HTH. –