我需要一次顯示大約1300個角色的大表。 (我知道我應該使用數據滾動,但我的用戶希望一次看到整個表格。)該表格顯示4列。其中兩列來自對象,但另外兩列來自原始對象中的引用對象。我需要找到最好的/有效的方式來做到這一點。我目前有這個工作,但是當我重新加載表時,它給出了內存不足的錯誤。我認爲這是由內存中大量的冗餘數據造成的。JPA和JSF數據表優化
- 創建一個視圖對象,倉庫將只填寫所需的字段。
- 其他建議。
這裏有對象:
public class Database extends EntityObject {
private Long id;
private String name;
private String connectionString;
private String username;
private String password;
private String description;
// getter and setters omitted
}
public class Application extends EntityObject {
private Long id;
private String name;
private String fullName = "";
private String description;
private Database database;
private List<Role> roles = new ArrayList<Role>(0);
// getter and setters omitted
}
public class Role extends EntityObject {
private Long id;
private String name;
private String nameOnDatabase;
private Application application;
// getter and setters omitted
}
什麼,我需要從角色的列表中顯示爲:
role.id,role.name,role.application.name,role.application .database.name
爲什麼OP要延遲加載? OP的加載「角色」,「應用程序」和「數據庫」。 – siebz0r
檢索到的角色將加載應用程序,這將加載列表熱切。既然您正在從數據庫中檢索所有角色,我不確定hibernate是否會自動在持久性上下文中查找已檢索的角色。 –
JMelnik
集合在默認情況下根據我的知識獲取。 – siebz0r