簡體   English   中英

hibernate延遲加載集合

[英]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 '。

提前致謝。

您需要編寫自定義查詢以僅加載附件的名稱。 在您的應用程序,你應該有某種形式的TicketServiceloadTicket方法就可以了。 在該方法中,您應該加載票證(並且只加載票證),然后加載附加到票證的附件的名稱。

將該數據返回到UI。 當用戶單擊附件名稱時,您可以加載完整的附件。

在沒有顯式查詢的情況下使用簡單的對象加載很難做到。 我建議創建自定義查找器方法(可能使用本機SQL查詢)。 首先獲取ID和文件名,顯示它們,當用戶點擊FileName時,你有id,從中獲取附件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM