मैं एक वर्ग SynonymMapping कहा जाता है जो एक CollectionOfElementsहाइबरनेट CollectionOfElements उत्सुक लाने डुप्लिकेट तत्वों
@Entity(name = "synonymmapping")
public class SynonymMapping {
@Id private String keyId;
//@CollectionOfElements(fetch = FetchType.EAGER)
@CollectionOfElements
@JoinTable(name="synonymmappingvalues", joinColumns={@JoinColumn(name="keyId")})
@Column(name="value", nullable=false)
@Sort(type=SortType.NATURAL)
private SortedSet<String> values;
public SynonymMapping() {
values = new TreeSet<String>();
}
public SynonymMapping(String key, SortedSet<String> values) {
this();
this.keyId = key;
this.values = values;
}
public String getKeyId() {
return keyId;
}
public Set<String> getValues() {
return values;
}
}
मैं एक परीक्षण है जहाँ मैं डेटाबेस के लिए दो SynonymMapping वस्तुओं की दुकान और फिर डेटाबेस पूछने के रूप में मैप किया मूल्यों का संग्रह है है सभी सहेजे गए समानार्थी मैपिंग ऑब्जेक्ट्स को वापस करने के लिए, मैंने संग्रहीत दो ऑब्जेक्ट्स प्राप्त करने की अपेक्षा की।
जब मैं मूल्यों के मैपिंग को उत्सुक होने के लिए बदलता हूं (जैसा कि टिप्पणी लाइन द्वारा कोड में दिखाया गया है) और परीक्षण फिर से चलाएं, मुझे चार मैचों मिलते हैं।
मैंने रनों के बीच डेटाबेस को साफ़ कर दिया है और मैं इस समस्या को उत्सुक और आलसी के बीच स्वैप कर सकता हूं।
मुझे लगता है कि इसे उन जोड़ों के साथ करना है जो हाइबरनेट बनाता है लेकिन मुझे ऑनलाइन एक निश्चित उत्तर नहीं मिल रहा है।
क्या कोई मुझे बता सकता है कि क्यों उत्सुक fetch वस्तुओं को डुप्लिकेट कर रहा है?
धन्यवाद।
अपवाद के साथ प्रत्येक व्यक्ति "दिए गए पहचानकर्ता के साथ एक से अधिक पंक्ति मिली" इस बारे में जानना चाहिए। यह वास्तव में घंटों के बहुत से बचाता है यह नहीं जानता कि क्या गलत हो रहा है। @ User176668 उत्तर देखें !! –