साथ ही, एक कस्टम हाइबरनेट प्रकार कार्यान्वयन बनाने पर विचार करें। की तर्ज पर कुछ (स्यूडोकोड क्योंकि मेरे पास इसे बुलेटप्रूफ बनाने के लिए आसान वातावरण नहीं है):
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());
}
}
फिर, आपको हाइबरनेट टाइपडिफ और टाइप मैपिंग का उपयोग करके अपनी नई वस्तु को मैप करने की आवश्यकता होगी। यदि आप हाइबरनेट एनोटेशन का उपयोग कर रहे हैं, तो यह निम्न की तर्ज पर होगा:
@TypeDef (name="bigIntCalendar", typeClass=CalendarBigIntType.class)
@Entity
public class MyEntity {
@Type(type="bigIntCalendar")
private Calendar myDate;
}