How to delete ManyToMany table with extra column using Hibernate/JPA -
मेरे पास इस तालिका की तरह एक तालिका में 2 तालिकाओं हैं:
मैं व्यक्ति या समूह तालिकाओं को हटाए बिना PersonOnGroup तालिका से एक रिकॉर्ड कैसे हटा सकता हूं? कास्केड का उपयोग करना या अनाथ को हटा दें? या फिर सीतनिद्रा में होना कोई दूसरा रास्ता नहीं है?
ये संस्थाएं हैं:
@ एंटिटी @Table (name = "groups") सार्वजनिक वर्ग समूह {निजी लंबे आईडी समूह ; निजी स्ट्रिंग का नाम; निजी स्ट्रिंग विवरण; निजी संग्रह & lt; घटना & gt; eventsByIdGroup; निजी संग्रह & lt; PersonOnGroup & gt; personOnGroupByIdGroup; @ आईड @ जनरेटेड वैल्यू (रणनीति = जेनरेशन टाइप। एओटीओ) @ कॉलम (नाम = "आईडी ग्रुप") सार्वजनिक लंबे समय में आईआईडी ग्रुप () {लौट आयोड ग्रुप; } सार्वजनिक शून्य सेटआईडग्रुप (लंबे आईडीग्रुप) {this.idGroup = idGroup; } // अन्य सेटर और गेटर्स @OneToMany (मैप किए गए = "इवेंट बीआईआईड ग्रुप") सार्वजनिक संग्रह & lt; इवेंट & gt; GetEventsByIdGroup () {वापसी घटनाओं ByIdGroup; } सार्वजनिक शून्य सेटइवेंट्सएआईआईडी ग्रुप (संग्रह & amp; lt; घटना & gt; घटनाक्रम बिआयआईडग्रुप) {this.eventsByIdGroup = eventsByIdGroup; } @OneToMany सार्वजनिक संग्रह & lt; PersonOnGroup & gt; GetPersonOnGroupByIdGroup () {वापसी व्यक्ति OnGroupByIdGroup; } सार्वजनिक शून्य सेट PersonOnGroupByIdGroup (संग्रह & lt; PersonOnGroup & gt; व्यक्तिऑनग्रुप) {this.personOnGroupByIdGroup = personOnGroup; }} @ एंटीटी @Table (नाम = "व्यक्ति") सार्वजनिक वर्ग व्यक्ति {निजी लंबे idPerson; निजी स्ट्रिंग प्रथम नाम; निजी स्ट्रिंग अंतिमनाम; निजी स्ट्रिंग उपयोगकर्ता नाम; निजी स्ट्रिंग ईमेल; निजी स्ट्रिंग पासवर्ड; निजी स्ट्रिंग छवि यूआरएल; निजी बुलियन सक्षम = सच; निजी संग्रह & lt; टिप्पणी & gt; commentsByIdPerson; निजी एक्सेसराइट्स एक्सेसराइटबायआईडीएक्सआरआर राइट्स; निजी संग्रह & lt; PersonOnGroup & gt; personOnGroupByIdPerson; @ आईडी @ जनरेटेड वैल्यू (रणनीति = जेनरेशन टाइप। एओटीओ) @ कॉलम (नाम = "आईडीपर्सन") सार्वजनिक लंबे समय से आईआईडीपीर्सन () {आईडीपीसर वापस आ गया है; } सार्वजनिक शून्य सेटआईडीपीसरन (लंबे आईडीपीर्सन) {this.idPerson = idPerson; } // अन्य प्राप्तकर्ता और सेटर विधियों @OneToMany (मैप किए गए = "टिप्पणी ByIdPerson") सार्वजनिक संग्रह & lt; टिप्पणी & gt; GetCommentsByIdPerson () {वापसी टिप्पणियों ByydPerson; } सार्वजनिक शून्य सेटकॉममेंट्सबीआईडीपीसरन (संग्रह & lt; टिप्पणी & gt; टिप्पणियों ByIdPerson) {this.commentsByIdPerson = commentsByIdPerson; } @ManyToOne @JoinColumn (नाम = "idAccessRights", संदर्भित कॉलमनाम = "idAccessRights", नल योग्य = झूठे) सार्वजनिक AccessRights getAccessRightsByIdAccessRights () {accessRightsByIdAccessRights; } सार्वजनिक शून्य सेटएक्सएराइटराइटबायआईडीएक्सआरआरआरआर (एक्सेसर्राइट्स एक्सेस राइट्सएआईएक्सएक्सआरआरआरआर राइट्स) {यह। एसेसराइट्सएआईएडएक्सआरएआरआर राइट्स = एक्सेस राइट्सएआईडीएक्सआरआरआर राइट्स; } @OneToMany सार्वजनिक संग्रह & lt; PersonOnGroup & gt; GetPersonOnGroupByIdPerson () {वापसी व्यक्ति OnGroupByIdPerson; } सार्वजनिक शून्य सेट PersonOnGroupByIdPerson (संग्रह & lt; PersonOnGroup & gt; व्यक्ति OnGroupByIdPerson) {this.personOnGroupByIdPerson = personOnGroupByIdPerson; }} @ एंबेडेडबल पब्लिक क्लास व्यक्तिऑनग्रुपपीके सीरियलज़ेबल {निजी व्यक्ति व्यक्ति पीके; निजी समूह समूह पीके; @ManyToOne सार्वजनिक व्यक्ति को प्राप्त करेंप्रक्रिया पीके () {वापसी व्यक्ति पीके; } सार्वजनिक शून्य सेट PSersonPK (व्यक्ति व्यक्ति) {this.personPK = व्यक्ति; } @ManyToOne सार्वजनिक समूह getGroupsPK () {वापसी समूह पीके; } सार्वजनिक शून्य समूह समूह (समूह समूह) {this.groupsPK = समूहों; }} @ एंटीटी @Table (नाम = "व्यक्तिग्राहक") सार्वजनिक वर्ग व्यक्तिओंक्राम {निजी टाइमस्टैम्प शामिल होने; निजी व्यक्तिऑनग्रुप पीके व्यक्तिऑनग्रुपपीके; @ डेटटाइम फॉर्मेट (iso = DateTimeFormat.ISO.DATE_TIME) @ कॉलम (नाम = "जॉइंट डेट") सार्वजनिक टाइमस्टैम्प getJoinDate () {return joinDate; } सार्वजनिक शून्य सेट JoinDate (टाइमस्टैम्प निर्मित) {this.joinDate = createdAt; } @ एम्बडेड इड पब्लिक व्यक्तिऑनग्रुप पीपीसरऑन ग्रुप पीके () {वापसी व्यक्ति ओनग्रुप पीके; } सार्वजनिक शून्य सेट PersonOnGroupPK (PersonOnGroupPK व्यक्ति ONGroupPK) {this.personOnGroupPK = personOnGroupPK; }}
Comments
Post a Comment