onun görmez çünkü Uygulaması bu istisna ateşlerse geri vermek istediğin şeyi atlatır. Yöntem getField() özel olmayan öznitelikleri döndürür, böylece öznitelikleriniz özelse, yöntem bunları görmez. http://docs.oracle.com/javase/tutorial/reflect/member/fieldTrouble.html
'u kontrol edebilirsiniz. Böylece, atıflarınızın korumalı veya herkese göre değişeceğini ve sonra doğru şekilde çalışmasını sağlayabilirsiniz. Ancak bu şekilde (asıl örneklerde olduğu gibi) gerçek veritabanını simüle eder. Bu liste, yalnızca gerçek veritabanıyla simüle edilmesini sağlamak için . Eğer kullanmak istiyorsan. böylece, fasulye sınıfını destekleyerek bunu yapıyorsunuz ve bunu yapıyorsunuz. Bağlantıyı zaten bir filtreyle açarsınız veya yapmazsınız ve veriyi veri tabanından döndürürsünüz.
// DÜZENLEME: Adam, getDeclaredField() kullanmanız gerektiğini yazdı, ancak bunu denedim ve iyi çalışmadı ve IlegalAccessException'ı atar. Bir pretype özniteliği korumalı olduğunda, iyi çalışır. Nedenini bilmiyorum.getClass().getField()
sorun için
Merhaba Ama korumalı çalışırken bile istisna var.Özellik oluştu atjava.lang.IllegalAccessException: Sınıf com.buddhiedge.server.model.StudyPlanLazyDataModel değiştirici ile sınıf com.buddhiedge.server.entity.StudyplanCategory üyesi erişemez " korumalı " – user1281029
Merhaba Çalışan kamu erişim belirteci, ancak DATABASE TABLOSU (bu durumda) üye alanlarını özel olarak tutmamız gereken kurallara aykırıdır. – user1281029
Adamım aynı sorunu yaşadım ancak değiştirilen bir özellik korunurken, IllegalAccessEception iletisi daha fazla gösterilmiyordu. Bu yüzden onu kamuya değiştirmeyi deneyin. İşe yaramalı. Algı zaten field.setAccessible (true) gibi bir çözüm yazdı; Ama sonra, backing fasulye sınıfında, yeni LazyDataModel sınıfını oluşturacak @PostConstruct içinde yapmaya çalışın ve orada filtre ve deyim ile zaten veritabanınız için deyim oluşturur filtre verilere dönecektir, "tembel yükleme". – Sajmon