यह काफी बेवकूफ़ होना चाहिए, लेकिन मुझे @Entity
और @Embeddable
का उपयोग करने पर संदेह है।@embeddable बनाम @entity एक संग्रह मैपिंग के लिए
कहें कि मेरे पास User
और Notification
कक्षा है।
@Entity
public class User{
//other properties
@onetomany
private List<Notification> notifications;
}
@Entity
public class Notification{
//properties
}
मैं समझता हूँ कि वहाँ वर्ग User
और Notification
, और मानचित्रण के लिए एक तिहाई तालिका के लिए टेबल किया जाएगा। अगर मैं ऐसा करता हूं तो क्या होगा?
@Entity
public class User {
//other properties
@ElementCollection
private List<Notification> notifications;
}
@Embeddable
public class Notification{
//properties
}
मुझे पता है कि यह Notification
के लिए कोई तालिका नहीं बनाएगा। लेकिन मैं अभी भी अपनी अधिसूचना वस्तुओं को स्टोर कर सकता हूं। मैं documentation के माध्यम से गया, लेकिन कुछ संदेह:
- क्या यह इस बात पर आधारित है कि मैं कक्षा बी को एक अलग तालिका के रूप में देखना चाहता हूं?
- क्या कोई प्रदर्शन अंतर बी/डब्ल्यू एक टेबल और एक एम्बेड करने योग्य ऑब्जेक्ट बना रहा है?
- मैं एम्बेड करने योग्य ऑब्जेक्ट के साथ क्या नहीं कर सकता जो मैं तालिका से सीधे पूछताछ के अलावा किसी तालिका के साथ कर सकता हूं?
नोट
इस सवाल पढ़ने किसी के लिए, यह question भी आपकी मदद कर सकता है।
मुझे लगता है कि मैं एलीमेंट कोलेक्शन के साथ एंबेडेबल का उपयोग कर सकता हूं। मुझे @Embedded आरटी का उपयोग करने की ज़रूरत नहीं है? – shazinltc
मुझे आपका तीसरा बिंदु नहीं मिला। – shazinltc
तीसरा बिंदु: व्यक्ति को पता (एम्बेडेड) पर विचार करें, यदि दोनों के लिए अलग तालिका है, तो आप सीधे संबंधित पते को हटा सकते हैं, लेकिन यदि व्यक्ति की तालिका में एफके है। संबोधित करने के लिए, यह अखंडता बाधा उल्लंघन का कारण बन सकता है। – deepakraut