java ee - JPA: Problem with persisting Foreign Key Constraint -
मुझे दो इकाई मिली:
ग्राहक इकाई
@ एंटीटी सार्वजनिक वर्ग के ग्राहक {@Id @GeneratedValue (strategy = GenerationType.AUTO) निजी लांग आईडी; निजी स्ट्रिंग का नाम; @OneToMany (मैप किए गए = "ग्राहक", कैसकेड = कैस्केड टाइप। एएल) निजी सूची & lt; सुविधा & gt; सुविधाओं; // नाम और सुविधाओं के लिए सेटर और गेटर्स सार्वजनिक शून्य addFacility (सुविधा सुविधा) {this.facilities.add (सुविधा); }}
सुविधा इकाई
@ एंटीटी सार्वजनिक वर्ग की सुविधा {@Id @ generatedValue (strategy = GenerationType.AUTO) निजी लांग आईडी; @ManyToOne @JoinColumn (नाम = "CUSTOMER_FK") निजी ग्राहक ग्राहक; निजी स्ट्रिंग का नाम; // सेटर और गेटर, बराबर और हैशोड ...}
तो मेरे मुख्य में मैं यह करता हूं
ग्राहक ग्राहक = नया ग्राहक (); Customer.setName ("वेक वन विश्वविद्यालय"); सुविधा सुविधा = नई सुविधा (); Facility.setName ("टॉम क्रूज़"); EntityManager entityManager = Perseverence.createEntityManagerFactory ("EntityClassPU")। CreateEntityManager (); entityManager.getTransaction () शुरू ()।; customer.addFacility (सुविधा); entityManager.persist (ग्राहक); entityManager.getTransaction () के लिए प्रतिबद्ध ()।; वेक वन विश्वविद्यालय
सफलतापूर्वक ग्राहक
में सम्मिलित है, और टॉम क्रूज़
सफलतापूर्वक सुविधा , हालांकि अंदर सुविधा
, CUSTOMER_FK
मूल्य शून्य है, जो सुझाव देते हैं कि मैं विदेशी कुंजी संधि जारी रहती है। ग्राहक
और
> सुविधा एक द्वि-दिशात्मक सहयोग है, आप <मजबूत> अवश्य एसोसिएशन के दोनों पक्षों को प्रबंधित कर सकते हैं। आप इसे मैन्युअल रूप से कर सकते हैं लेकिन मैं इसे addFacility ()
विधि में करने का सुझाव देता हूं:
सार्वजनिक शून्य addFacility (सुविधा सुविधा) {if (this.facilities == null ) {This.facilities = नया ArrayList & lt; सुविधा & gt; (); } This.facilities.add (सुविधा); facility.setCustomer (this); // वह भाग है जिसे आप वर्तमान में याद कर रहे हैं}
Comments
Post a Comment