मैंने कक्षा में DataTime
का उपयोग करने का प्रयास किया। फ़ील्ड के ऊपर @Temporal(TemporalType.DATE)
जोड़कर, मुझे कहने में त्रुटि मिली "एक टेम्पोरल प्रकार के लिए लगातार फ़ील्ड या प्रॉपर्टी java.util.Date, java.util.Calendar या java.util.GregorianCalendar" का होना चाहिए। मैं रूपांतरण को आगे और आगे पेश कर सकता हूं; setters और getters का उपयोग कर इस प्रकार है:जेपीए (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());
}
लेकिन मुझे आशा है कि eclipselink
मेरे लिए यह करने के लिए। मैं thro 'Persist Joda-time's DateTime via Hibernate चला गया है। उत्तर हाइबरनेट का उपयोग करने का सुझाव है, लेकिन मुझे eclipselink का उपयोग करना है। मैं DateTime
ऑब्जेक्ट का उपयोग अपनी इकाई वर्ग में डीबी प्रतिनिधित्व के साथ BLOB
के रूप में कर सकता हूं, लेकिन मुझे इसे Date
के रूप में चाहिए। क्या jodatime-eclipselink
जैसी कोई चीज है? या कोई अन्य सुझाव? सहायता के लिए धन्यवाद।
डीडीएल निर्माण के संबंध में, मेरी प्रारंभिक विधि में मेरे पास यह है: mapping.getField() .setSqlType (java.sql.Types.TIMESTAMP); हालांकि, मेरे डीबी में बनाया गया प्रकार वर्कर (255) है। कोई विचार क्या समस्या हो सकती है? –
@kaciula मुझे इसे जोड़ने के द्वारा काम करने के लिए मिला : 'mapping.getField()। setType (java.sql.Timestamp.class); 'एचटीएच –