çalışmazgibi neden JSF Veritabanında çalışmamalı? List ile çalışır. Bu veri yapısı bir dizin tarafından sipariş olan nesneler topluluğu tutmak için intented asla çünkü genelde bir Set
desteklenmez Neden olarakDatatable JSF'de bir Set koleksiyonundaki nesnelerin görüntülenmesi
cevap
, bu. List
bunu yapar ve bu veri yapısı, UIData
bileşeninin değerini temsil eden en mantıklı veri yapısıdır. UIData
bileşenlerinin sarılmış değerini temsil eden ve satır dizinlerini tutan DataModel
arabirimi, yineleme için geçerli satırı hatırlar ve geri gönderme sırasında gönderme işlemini gerçekleştirir, Java toplama sınıfları yalnızca arabiriminin ListDataModel
çeşidindeki aromasını destekler. (Genelde nm ilişkiler için Set
kullanır özellikle hazırda/JPA topluluğu tarafından itilen) uzun bir karar süreci, MTU Spec ekibi yaklaşan JSF 2.2 için vardır sonra
nihayet tek başına Collection
arayüzü yerine DataModel
arayüz desteği izin verdi Yeni CollectionDataModel
uygulamasının yardımıyla List
. Bu da setleri destekler. Ayrıca bkz. JSF spec issue 479. Amacınız düzenlenebilir bir veri tablosuna sahip olmak istiyorsanız, HashSet
yerine LinkedHashSet
'u kullanmayı unutmayın. Bir LinkedHashSet
, öğelerin sıralamasını korur.
Kesinlikle bir HashSet öğesi sipariş edilmediğinden. Sette herhangi bir ekleme veya çıkarma, elemanlarının sırasının değişmesine neden olabilir. –
@JBNizet Bu bir cevap olmalı. –
JSF'de uzman değilim ve bu nedenle bunun nedeninin (veya tek sebebin) olduğundan emin değilim. Bu yüzden başkalarının daha hassas bir cevabı vermesine izin vereceğim. –