मेरे पास 2 ऑब्जेक्ट्स हैं, ObjectA
और ObjectB
।मैं GORM में वैकल्पिक एक-से-एक संबंध कैसे रख सकता हूं?
जब ObjectA
बनाया जाता है, ObjectB
नहीं है (और नहीं कर सकते हैं, कारण अभी तक डेटा नहीं होने के लिए) अभी तक अस्तित्व में।
एक बार ObjectB
बनाई गई है, यह एक इसी ObjectA
यह से जुड़ी है, तो एक उचित एक मौजूद की जरूरत है। यदि कोई उचित ObjectA
नहीं है, तो नया ObjectB
बस एक से कनेक्ट नहीं है।
तो, सभी ObjectA
उदाहरणों अंततः एक ObjectB
से जुड़ी होगी जा, लेकिन सभी ObjectB
उदाहरणों एक ObjectA
होगा।
अनिवार्य रूप से, मैं इस तरह डेटाबेस तालिकाओं का निर्माण करने के GORM के लिए देख रहा हूँ:
ObjectA
- Id (NotNull, unique)
- ObjectB_Id[FK: ObjectB.Id] (unique)
ObjectB
- Id (NotNull, unique)
मैं कैसे एक साथ GORM डोमेन कक्षाओं यह करने के लिए रख सकते हैं?
मैं कोशिश की है बस के बारे में hasOne
, belongsTo
, कच्चे गुण, nullable: true
और unique: true
की कमी के हर संयोजन मैं के बारे में सोच सकते हैं, लेकिन मैं चाहिए एक लापता हो। ऐसा लगता है कि यह विशेष रूप से विषम परिदृश्य है, इसलिए इसे पूरा करने के लिए कुछ तरीका होना चाहिए।
Class ObjectA {
ObjectB objectB
static constraints = {
objectB nullable: true, unique: true
}
}
Class ObjectB {
static belongsTo = [objectA: ObjectA]
static constraints = {
objectA nullable: true
}
}
इस के साथ ही पकड़ है कि मैं चारों ओर पाने के लिए नहीं कर पा रहे हैं कि यह निर्धारित करने के लिए संभव है: