jpa - How do I get an auto-generated value? -


  @TableGenerator (नाम = "परीक्षण", तालिका = "तीसरा", pkColumnName = "a", valueColumnName = "बी", pkColumnValue = "पहले") @ एंटीटी सार्वजनिक कक्षा पहले {@Id @GeneratedValue (strategy = GenerationType.TABLE, जनरेटर = "परीक्षण") संरक्षित एक ए; @OneToMany (मैप किए गए = "पहले", कैस्केड = कैस्केड टाइप। PERSIST) @जिन कॉलम (नाम = "ए") सुरक्षित सूची & lt; सेकंड & gt; सेकंड; } @ एंटीटी पब्लिक क्लास द्वितीय {@Id संरक्षित एक ए; @ManyToOne @JoinColumn (नाम = "बी") पहले सबसे पहले; }  

जब मैं मुख्य में निम्नलिखित चलाता हूँ:

  सेकंड aecond = new second (); ASecond.a = 2; पहला एफ़िस्ट = नया प्रथम (); सूची के & lt; दूसरा & gt; Scnds = नया अर्रेलिस्ट & lt; सेकंड & gt; (); scnds.add (aSecond); AFirst.seconds = scnds; aEntityManager.getTransaction () शुरू ()।; aEntityManager.persist (aFirst); aEntityManager.getTransaction () के लिए प्रतिबद्ध ()।;  

यह तालिका दूसरे में "b" कॉलम में रिक्त सेट है? मैं b में सेकंड में सेट करने के लिए a में प्रथम में कौन से मूल्य स्वयं बना सकता / सकती हूं?

कुछ चीजें:

सबसे पहले: आपको @ जॉइन कॉलम की आवश्यकता नहीं है (नाम = "ए") प्रथम श्रेणी में सेकंड संग्रह पर टिप्पणी। मैपिंग को द्वितीय श्रेणी द्वारा नियंत्रित किया जा रहा है।

अगला:

  दूसरा एक सेकंड = नया दूसरा (); ASecond.a = 2; पहला एफ़िस्ट = नया प्रथम (); // यह एक द्वि-दिशात्मक मानचित्रण है, इसलिए आपको संदर्भों को दोनों तरीकों से aFirst.seconds.add (aSecond) सेट करना होगा; Aecond.first = aFirst; aEntityManager.getTransaction () शुरू ()।; aEntityManager.persist (aFirst); aEntityManager.getTransaction () के लिए प्रतिबद्ध ()।;  

Comments

Popular posts from this blog

python - Overriding the save method in Django ModelForm -

html - CSS autoheight, but fit content to height of div -

qt - How to prevent QAudioInput from automatically boosting the master volume to 100%? -