我有3層EJB應用程序,我需要在厚客戶端(桌面Java應用程序)上創建一個視圖,以顯示一個非常大的對象集合(超過5000個訂單)。每個對象都有子屬性,同時也是複雜的對象,例如:非常大的對象集合的客戶端視圖。如何優化?
class Address
{
String value
// other properties
}
class Order
{
public String Number
// this is collection of complex object and I need first and last object to show it's
// properties in view
public List<Address> getAddresses()
// other properties
}
的觀點是訂單的表:
號碼| FirstAddress | LastAddress | ...
我第一次嘗試加載命令的完整列表(無子屬性),然後需要時顯示動態下載子對象。但是當我有10000個訂單並開始快速滾動時,界面變得沒有反應。
然後我嘗試加載的所有訂單,需要在表中顯示所有的孩子,但用戶界面變得非常沉重和緩慢,可能是因爲存儲成本)。根本不是胖客戶端,因爲我從db下載了幾乎所有的數據。
什麼是解決這一任務的最佳做法?
使用'發佈()'將工作**只有**服務(EJB側)提供了一個API來獲取數據,而不是讓整個列表一次的頁面。 – jfpoilpret