Ngoài ra, hãy xem việc tạo triển khai Loại ngủ đông tùy chỉnh. Một cái gì đó dọc theo dòng (mã psuedocode vì tôi không có môi trường tiện dụng để làm cho nó chống đạn):
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());
}
}
Sau đó, bạn sẽ cần ánh xạ đối tượng mới của mình bằng cách sử dụng ánh xạ TypeDef và Type ngủ đông. Nếu bạn đang sử dụng chú thích Hibernate, nó sẽ nằm dọc theo dòng:
@TypeDef (name="bigIntCalendar", typeClass=CalendarBigIntType.class)
@Entity
public class MyEntity {
@Type(type="bigIntCalendar")
private Calendar myDate;
}