पर प्रॉपर्टी नाम से प्रीपेड करने में असफल रहा है। मैं ManyToMany
एसोसिएशन का उपयोग करके एक दूसरे को दो ऑब्जेक्ट्स मैप करने की कोशिश कर रहा हूं, लेकिन किसी कारण से जब मै मैप्डबी प्रॉपर्टी का उपयोग करता हूं, तो हाइबरनेट उलझन में प्रतीत होता है मैं वास्तव में क्या मैपिंग कर रहा हूँ के बारे में। यहां मेरी मैपिंग के बारे में एकमात्र अजीब चीज यह है कि एसोसिएशन किसी एक प्रविष्टि में प्राथमिक कुंजी फ़ील्ड पर नहीं किया जाता है (हालांकि फ़ील्ड अद्वितीय है)।हाइबरनेट कई प्रकार के योग्य वर्ग नाम को प्रॉपर्टी नाम पर कई टीओएमनी एसोसिएशन
तालिकाओं हैं:
Sequence (
id NUMBER,
reference VARCHAR,
)
Project (
id NUMBER
)
Sequence_Project (
proj_id number references Project(id),
reference varchar references Sequence(reference)
)
वस्तुओं की तरह लग रहे (एनोटेशन थोड़ा गाढ़ा करने के लिए खेतों पर डाल, गेटर पर हैं):
class Sequence {
@Id
private int id;
private String reference;
@ManyToMany(mappedBy="sequences")
private List<Project> projects;
}
और मालिक पक्ष:
class Project {
@Id
private int id;
@ManyToMany
@JoinTable(name="sequence_project",
[email protected](name="id"),
[email protected](name="reference",
referencedColumnName="reference"))
private List<Sequence> sequences;
}
यह मैपिंग अपवाद के साथ विफल रहता है:
संपत्ति-रेफरी [_test_local_entities_Project_sequences] इकाई पर नहीं मिला [test.local.entities.Project]
यह अजीब तरह से पूरी तरह से योग्य वर्ग के नाम, अंडरस्कोर से विभाजित पहले जोड़ें करने लगता है। मैं इसे कैसे होने से बच सकता हूं?
संपादित करें: मैंने इसके साथ थोड़ा और खेला। थ्रो एक अलग अपवाद, mappedBy संपत्ति के नाम बदलने से अर्थात्:
org.hibernate.AnnotationException: test.local.entities.Project.sequences
तो: mappedBy एक अज्ञात लक्ष्य इकाई संपत्ति का संदर्भ एनोटेशन सही तरीके से प्रसंस्करण कर रहा है, लेकिन किसी भी तरह से संपत्ति संदर्भ सही ढंग से हाइबरनेट की आंतरिक कॉन्फ़िगरेशन में नहीं जोड़ा गया है।
एक वर्ग की तरह लग सकता है, लेकिन परियोजना उस पर सार्वजनिक getSequences और सार्वजनिक setSequences है? – Affe
@Affe मैं डबल चेक कर दूंगा, मुझे लगता है कि वर्तमान में यह सार्वजनिक/संरक्षित है। – wds
बस मामले में, यदि आप 'अनुक्रम' संपत्ति का नाम किसी अन्य चीज़ में बदलते हैं तो क्या होता है उदा। 'Foo'? –