Sehen Sie sich auch das Erstellen einer benutzerdefinierten Hibernate Type-Implementierung an. Etwas in der Art von (Psuedocode, da ich keine praktische Umgebung habe, um es kugelsicher zu machen):
public class CalendarBigIntType extends org.hibernate.type.CalendarType {
public Object get(ResultSet rs, String name) {
return cal = new GregorianCalendar(rs.getLong(name));
}
public void set(PreparedStatement stmt, Object value, int index) {
stmt.setParameter(index, ((Calendar) value).getTime());
}
}
Anschließend müssen Sie Ihr neues Objekt mithilfe einer Hibernate-TypeDef und Type-Mappings zuordnen. Wenn Sie Hibernate-Anmerkungen verwenden, sollte dies in etwa so sein:
@TypeDef (name="bigIntCalendar", typeClass=CalendarBigIntType.class)
@Entity
public class MyEntity {
@Type(type="bigIntCalendar")
private Calendar myDate;
}