के साथ हाइबरनेट का उपयोग करना मुझे कुछ परेशानी हो रही है कि कैसे हाइबरनेट जेनेरिक से संबंधित है और मेरे लक्ष्य को पूरा करने का सबसे अच्छा तरीका सोच रहा था।जेनेरिक
एक सरल सामान्य इकाई को देखते हुए:
@Entity
public class Box<T>{
private T t;
@Id
private long id;
public void setT(T t) {
this.t = t;
}
public T getT() {
return t;
}
public void setId(long id) {
this.id = id;
}
public long getId() {
return id;
}
}
जब हाइबरनेट प्रारंभ से गुजर रही है, मैं अपवाद हो रही है: ...has an unbound type and no explicit target entity. Resolve this Generic usage issue or set an explicit target attribute (eg @OneToMany(target=) or use an explicit @Type
मैं लगभग निश्चित इस वजह से मैं की एक सूची हाइबरनेट नहीं दिया है हूँ वास्तव में <T>
के प्रतिबंध क्या हो सकते हैं। मुझे पता है कि आप एनोटेशन में t
से ऊपर targetEntity=String.class
जैसी चीजें निर्दिष्ट कर सकते हैं, लेकिन फिर आप जेनेरिक होने की लचीलापन खो देते हैं। क्या मैं एनोटेशन का उपयोग कर एक स्वीकार्य जेनेरिक के दायरे को सीमित कर सकता हूं? उदाहरण के लिए: यदि मुझे कक्षा ChildA
, ChildB
कक्षाएं चाहिए, तो वहां एक अस्थायी कक्षा Parent
से उत्तराधिकारी होने के लिए उत्तराधिकारी होना चाहिए। इसके अलावा, यह String
एस स्वीकार करने में सक्षम होना चाहिए। Hibernate
ऐसी चीज से निपट सकता है?
साथ इसे चलाने के लिए कैसे आप इस तरह के एक सामान्य वस्तु का निर्माण करने के हाइबरनेट उम्मीद करते हैं? ऐसा लगता है कि आपको किसी प्रकार का भेदभावकर्ता स्तंभ होना होगा और उपयोग की जा सकने वाली सभी संभावित वस्तुओं की पहचान करना होगा। लेकिन, मुझे नहीं पता कि यह यहां संभव है या नहीं। – Jeremy
वही है जो मैं पूछ रहा हूं! :) – Ryan