[英]hibernate lazy loading of collection
我不是很熟悉Hibernate並且有以下查詢:
考慮兩個類:
public class Ticket{
private List<Attachement> attachmentList=new ArrayList<Attachment>();
...
}
public class Attachment{
private String fileName;
private bytes[] fileData;
}
考慮一個場景:
用戶打開票證以查看其詳細信息。隨着票證詳細信息,與該票證相關的所有附件的列表也將顯示(我的意思是僅附件的名稱)。 用戶將單擊文件名以下載該附件。
在顯示票證的詳細信息時,我不想獲取相關的附件數據,直到用戶點擊他們的fienames下載它們。 (我想只顯示他們的名字 )
使用延遲加載時,可以延遲加載附件,但是如何僅提前獲取文件名(類附件的' fileName '屬性),而不是' fileData '。
提前致謝。
您需要編寫自定義查詢以僅加載附件的名稱。 在您的應用程序,你應該有某種形式的TicketService
與loadTicket
方法就可以了。 在該方法中,您應該加載票證(並且只加載票證),然后加載附加到票證的附件的名稱。
將該數據返回到UI。 當用戶單擊附件名稱時,您可以加載完整的附件。
在沒有顯式查詢的情況下使用簡單的對象加載很難做到。 我建議創建自定義查找器方法(可能使用本機SQL查詢)。 首先獲取ID和文件名,顯示它們,當用戶點擊FileName時,你有id,從中獲取附件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.