bir birleştirme tablosuyla tek yönlü bir bire çok ilişki çok sadece bir dış anahtar kolon kullanılarak tercih olduğunu söyler sahip olunan varlık. Sorum şu, neden daha çok tercih ediliyor?
cevap
Sahip olduğu varlık türünün başka bir ana varlık türü tarafından sahip olunabileceği durumu düşünün. Sahip olunan tablodaki yabancı anahtar referanslarını her iki ana tabloya koyar mısınız? Üç ana tipiniz varsa ne olur? Sadece büyük tasarımlara göre ölçeklendirilmez.
Birleştirme tablosu, birleştirmeyi ayırır, böylece sahip olunan tablonun, üst tablo (lar) hakkında hiçbir bilgisi yoktur, bu da tasarımın zarif bir şekilde ölçeklenmesine izin verir.
Farkı görün bakın http://stackoverflow.com/q/18333198/418439 –
Çocuk öğesinin yalnızca bir üst türü varsa, birleştirme tablosuna gerek yoktur. Bunu JPA ile yaptım (hazırda bekletme ile).
Avantajlar: Daha az bir tablo. Belki daha iyi performans. Hayır "bu tablo ne için?" sorular yazın.
Dezavantaj: OO açısından bakıldığında, çocuk ve ebeveyn arasında ek bir bağımlılık vardır. Pratikte bu büyük bir anlaşma değildir, çünkü ilişki çocukta özeldir.
e.g. parent: @OneToMany(mappedBy = "parent", cascade = CascadeType.ALL) @MapKey(name = "name") private Map children; child: @ManyToOne(optional = false) private Parent parent;
adresindeki iç SQL işlemlerinin birleştirme tablosunda ve yabancı anahtarda çağrılması, –
Rafine dezavantajı konusunda daha fazla ayrıntı verebilir. – Conor
Sadece, JPA 2.0 ile çocuğun üst öğeye başvurmasının artık gerekli olmadığını unutmayın. Sadece ebeveyn üzerindeki @JoinColumn ek açıklamasını kullanın. –
- 1. Tek yönlü bir ilişki için nasıl ters birleştirme yapıyorum?
- 2. Hazırda beklemede sayfalandırılmış OneToMany ilişki
- 3. Doktrini 2 Bire Bir tek yönlü bir ilişki Ben bire-bir tek yönlü bir ilişki ile İki varlık vardır tarafını
- 4. Hazırda bekletme, @ManyToMany iki yönlü ilişkiyle sonsuz döngüye neden olur
- 5. CSS3 tek yönlü geçiş?
- 6. WPF: Tek yönlü IValueConverter
- 7. Android'de çok yönlü hotspot
- 8. çok yönlü ısı haritası
- 9. Tek yönlü bir kanalı "yapmak" için bir amaç var mı?
- 10. Angular2 bileşen tek yönlü bağlama veya giriş?
- 11. Biri bir çok ilişkisi var ve bir çok iki yönlü ilişki (Google App Engine Java Api)
- 12. Açısal tek yönlü veri çalışmıyor,
- 13. Açık Hazırda Bekletme birleştirme tablosu
- 14. Hazırda beklemede tek bir tabloyu kullanarak üç tabloya nasıl katılırsınız?
- 15. Tek yönlü bir istemciye bir ileti göndermeyi neden ertelemiyorum
- 16. JavaScript veya PHP'de 3 yönlü birleştirme
- 17. Spring Mongodb çift yönlü dbref
- 18. clojure iki yönlü bir harita?
- 19. bind: toObject: withKeyPath: options: tek yönlü bir bağlantı mı?
- 20. İki Yönlü Eşleme listesi
- 21. Json serializerindeki dairesel referansı birçok neden olan çok sayıda çift yönlü haritalama neden çözümlenir?
- 22. StilCop'ta Çok Yönlü Kıvrımlı Konsollar için Kural
- 23. dozer tek yönlü haritalama abs değeri
- 24. Çift Yönlü Android Beam
- 25. Hazırda bekletme OneToOne çift yönlü yabancı anahtar ekleme
- 26. Hazırda Bekletme Süresi Hazırda Beklemede
- 27. açısal iki yönlü bağlanma?
- 28. Xcode ile iOS'ta çok yönlü bağlanabilirlik
- 29. Neden Run.Text varsayılan olarak iki yönlü bağlanır?
- 30. Entity Framework'de İki Yönlü Tek - Bir İlişki Oluşturma 4.1 İlk Kod İlk
http://stackoverflow.com/questions/2092611/why-is-it-recommended-to-avoid-unidirectional-one-to-many-association-on-a-forei –