मेरे मॉडल वर्ग (टुकड़ा):एनम प्रकार को लोअरकेस स्ट्रिंग के रूप में कैसे स्टोर करें?
public class User ... {
@Enumerated(STRING)
private Status status;
...
public enum Status {
ACTIVE,
INACTIVE;
@Override
public String toString() {
return this.name().toLowerCase();
}
}
...
public String getStatus() {
return status.name().toLowerCase();
}
public void setStatus(Status status) {
this.status = status;
}
}
जैसा कि आप देख ऊपर मैं toString विधि ओवरराइड, लेकिन कोई प्रभाव नहीं। डेटाबेस में गणना स्टोर ACTIVE
या INACTIVE
के रूप में।
पीएस मैं हाइबरनेट जेपीए
सहायता के लिए धन्यवाद का उपयोग करें!
पीएसएस मैं पूछता हूं क्योंकि मैं आरएसटी सेवा लिखता हूं जो जेसन (जेसन ऑब्जेक्ट में बेहतर केस का उपयोग करता है, अगर मैं गलती नहीं करता)
आपका कोड मेरे लिए काम करता है। 'toString' और 'getStatus' दोनों लोअरकेस तार लौटाते हैं। क्या आप सुनिश्चित हैं कि आप जेसन का निर्माण करते समय 'name()' को कॉल नहीं कर रहे हैं? – Tobber
@ बिटेनस, मैं डेटाबेस में एनमस को लोअरकेस स्ट्रिंग के रूप में स्टोर करने का प्रयास करता हूं। – eugenes
1. क्या आप enum को पार्स करने के लिए लाइब्रेरी का उपयोग कर रहे हैं या क्या आप इसे स्वयं पार्स कर रहे हैं? 2. क्या कोड, जो 'नाम() 'या' toString' का उपयोग कर डेटाबेस के लिए enum पारदर्शी है? – Tobber