हम एक Oracle डाटाबेस के खिलाफ हाइबरनेट एनोटेशन 3.4.0GA और हाइबरनेट कोर 3.3.2.GA (यह भी वर्तमान स्थिर संस्करण के रूप में जाना जाता है) का उपयोग कर रहेमूल्य आधार के साथ मैप किया = एक 1
हम बेस = 1 के साथ एक-से-कई मैपिंग जो लूइंग समय के लिए ठीक काम करता था, फिर भी पिछले हफ्ते हमने डेटाबेस में कुछ प्रविष्टियां पाईं, जहां इंडेक्स कॉलम में 0 का मान था जो सभी प्रकार की समस्याओं का कारण बनता था।
तो मेरा सवाल यह है: क्या किसी को एक-से-कई संबंधों के सूचकांक कॉलम में 0 का मान प्राप्त करने का कोई तरीका पता है, जब इसे आधार = 1 के साथ मैप किया जाता है? संभावित रूप से उपयोग जेनरिक या मैप्डसुपरक्लास से संबंधित है।
ध्यान दें कि कोड अपेक्षाकृत जटिल है, क्योंकि विरासत भी शामिल है।
निम्नलिखित वर्गों में से प्रासंगिक पीस हैं:
// SuperClass of the One side
@MappedSuperclass
public abstract class AbstractReihung<Tp, Tw, Te extends AbstractReihungElement<Tp, Tw>>
{
@OneToMany(cascade = CascadeType.ALL)
@Cascade(
{
org.hibernate.annotations.CascadeType.ALL,
org.hibernate.annotations.CascadeType.DELETE_ORPHAN
})
@JoinColumn(name = "parent_id", nullable = false)
@IndexColumn(name = "position", base = 1, nullable = false)
private List<Te> elements = new ArrayList<Te>();
}
// Super Class of the Many side
@MappedSuperclass
public abstract class AbstractReihungElement<Tp, Tw> extends AbstractDbObject
{
@ManyToOne
@JoinColumn(name = "parent_id", insertable = false, updatable = false, nullable = false)
private Tp parent;
@Column(name = "position", insertable = false, updatable = false, nullable = false)
private int position;
}
वास्तविक कक्षाएं इन से विरासत और प्रकार पैरामीटर के लिए ठोस वर्ग प्रदान करते हैं। वे इकाई के रूप में मैप किए गए हैं। वे आईडी और संस्करण कॉलम के साथ-साथ कई अन्य विशेषताओं और संदर्भों को भी निर्दिष्ट करते हैं, लेकिन हाथ में मैपिंग से संबंधित कुछ भी नहीं।
हाय जेन्स, मुझे आपके द्वारा वर्णित एक ही परिदृश्य का सामना करना पड़ रहा है, आखिरकार आपको यह पता चला कि यह समस्या कैसे होती है, या क्या आपको इसके लिए कोई समाधान मिल गया है ?, यह मेरा कोड है, http: // pastebin। कॉम/वी 6 एफआरबीएलएम – fujy
इस प्रश्न और टिप्पणियों में वर्णित चीज़ों के मुकाबले मुझे इसके बारे में और अधिक जानकारी नहीं मिली। –