के साथ एक इकाई को हटा नहीं सकता है, एक इकाई को हटाने की कोशिश करते समय मुझे एक विदेशी बाधा उल्लंघन मिल रहा है, जिसमें यूनिडायरेक्शनल एक से कई संगठन शामिल हैं।सिद्धांत 2 - एक यूनिडायरेक्शनल एक टॉनी रिलेशन
class Dealer{
/**
* @ManyToMany(targetEntity="Car", cascade={"persist", "remove"})
* @JoinTable(name="dealer_cars",
* joinColumns={@JoinColumn(name="dealer_id", referencedColumnName="id")},
* inverseJoinColumns={@JoinColumn(name="car_id", referencedColumnName="id",
unique=true)}
* )
**/
protected cars;
}
Car
वस्तु इस मामले में उसके मालिक को एक रिश्ता (इसलिए यूनिडायरेक्शनल संबंध) नहीं होने चाहिए: मैं निम्नलिखित सरल वर्ग की है। अगर मैं कारों के लिए संघों से युक्त एक Dealer
वस्तु को हटाने का प्रयास, मैं निम्नलिखित बाधा उल्लंघन मिलती है:
Cannot delete or update a parent row: a foreign key constraint fails
(`application`.`dealer_cars`, CONSTRAINT `FK_E1BCEEEBC3C6F69F`
FOREIGN KEY (`car_id`) REFERENCES `car` (`id`))'
मैं अगर मैं डेटाबेस तालिका से मैन्युअल रूप से डीलर पंक्ति को हटाने का प्रयास वही संदेश मिल रहा है, लेकिन मैंने सोचा था कि कैस्केड = "निकालें" का उपयोग करते हुए सिद्धांत, मेरे लिए इसका ख्याल रखेगा।
यदि मैं एक बिडरेक्शनल एसोसिएशन में एसोसिएशन बदलता हूं तो यह काम करता है। यह यूनिडायरेक्शनल एसोसिएशन के साथ क्यों काम नहीं करता है?
यूनिडायरेक्शनल एक-से-कई संघ? यह मेरे लिए कई-द्वि-दिशात्मक की तरह दिखता है: डी क्या आपने अपना डेटाबेस छोड़ दिया और फिर से बनाया या क्या आपने स्कीमा को बदलते समय डेटाबेस में कोई फिक्स्चर/डेटा-बचे हुए हैं? – nifr
आप कार के खोए बिना डीलर को हटाना चाहते हैं, क्या मुझे यह अधिकार मिलता है? – nifr
यह सिद्धांतों को एक-दूसरे के लिए एक-दूसरे की परिभाषा है। यह एक अद्वितीय बाधा के साथ कई से अधिक है। मैं कार को हटाना चाहता हूं, जब डीलर भी हटा दिया जाता है। –