gorm - Grails. How to save entity with nested list? -


निम्नलिखित संस्थाएं हैं:

  वर्ग पत्र {स्ट्रिंग ईमेल स्ट्रिंग विषय स्ट्रिंग सामग्री सूची अटैचमेंट्स स्टैटिक हैमॉयन्य = [अटैचमेंट्स: अटैचमेंट] स्टैटिक बाधाएं = {विषय नल योग्य: सच, रिक्त: सच्ची सामग्री नल योग्य: सच ईमेल ईमेल: सच्चे अटैचमेंट: सच्चे}  

और

  वर्ग अनुलग्नक {स्ट्रिंग फाइलनाम} पूर्णांक आकार बाइट [] डेटा पत्र पत्र स्थिर सम्मिलित है = [पत्र: पत्र] स्थिर बाधाएं = {fileName nullable: true, रिक्त: सही आकार nullable: true, रिक्त: सही डेटा रिक्त है: सच, अधिकतम आकार: 1024 * 1024 * 5 / * 5MB * /}  

}

एक अलग मॉड्यूल में एक पत्र बनाता है और अनुलग्नक इस सूची में जोड़े जाते हैं। जारी रखने के बिना कोड:

  सार्वजनिक पत्र बनाएँटाटरफ्रॉमिमेस (संदेश संदेश) {पत्र पत्र = नया पत्र () def addr = message.getFrom () [0] अगर (addAreaufen इंटरनेट एडेस्टर) {def inAddr = addr as इंटरनेट एड्रेस पत्र। मेल = इनएड्र.एड्रेस} letter.subject = message.subject डीआरफ़ भाग = संदेश के रूप में भाग letter.attachments = getAttachmetList (पत्र, part.getContent ()) / सूची नहीं जारी रहती है आशंका वापसी पत्र}  

दूसरे मॉड्यूल में मुझे एक पत्र को सहेजने की ज़रूरत है जिसमें संलग्नक की सूची पहले से जोड़ दी गई है। कोड:

  सार्वजनिक सफलता शून्य पर (सूची & lt; पत्र & gt; अक्षरों) {for (पत्र पत्र: अक्षरों) {if (letterService.save (letter)) {log.debug} "id = $ {letter.id}। " // कुछ काम करते हैं} और लॉग इन करें। डीबग "पत्र सहेजा नहीं गया है और निष्पादन संदर्भ में जोड़ा नहीं है!" }}  

यह कैसे करें?

दस्तावेज़ से एक उदाहरण यहाँ काम नहीं करता है।

  def book = new book (शीर्षक: 'मिज़री') लेखक। एट टूबुक (पुस्तक) लेखक। सेव ()  

<पी > मुझे लगता है कि यदि आप प्रत्येक अनुलग्नक की letter संपत्ति के लिए बस पत्र आवंटित करते हैं, और तब पत्र उदाहरण को सहेजते हैं, तो प्रत्येक अनुलग्नक को सहेजना चाहिए:

  letter .attachments.each {it.letter = letter} letter.save ()  

यह अनिवार्य रूप से addTo * विधि करता है


Comments