Próbowałem użyć DataTime
w mojej klasie entity
. Dodając @Temporal(TemporalType.DATE)
powyżej pola, otrzymałem komunikat o błędzie z informacją, że "Trwałe pole lub właściwość typu Temporal musi być typu java.util.Date, java.util.Calendar lub java.util.GregorianCalendar". Mogę wprowadzić konwersację tam iz powrotem; za pomocą ustawiające i pobierające następująco:Jak używać czasu joda z 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());
}
ale mam nadzieję eclipselink
zrobić to za mnie. Poszedłem thro 'Persist Joda-time's DateTime via Hibernate. Odpowiedź sugeruje użycie hibernacji, ale muszę użyć eclipselink. Mogę użyć obiektu DateTime
w mojej klasie encji z reprezentacją DB jako BLOB
, ale potrzebuję go jako Date
. Czy jest coś takiego jak jodatime-eclipselink
? Lub jakiejkolwiek innej sugestii? Dzięki za pomoc.
Odnośnie tworzenia DDL, w mojej metodzie inicjowania mam to: mapping.getField() .setSqlType (java.sql.Types.TIMESTAMP); Jednak typ, który jest tworzony w mojej db jest varchar (255) .Dowolny pomysł, co może być problem? –
@kaciula Mam go do pracy, dodając to zamiast : 'mapping.getField(). setType (java.sql.Timestamp.class);'. HTH. –