2012-01-13 90 views
0

我不是很在Hibernate中熟悉的延迟加载,并有以下查询:冬眠收集

考虑两类:

public class Ticket{ 

    private List<Attachement> attachmentList=new ArrayList<Attachment>(); 
    ... 
} 

public class Attachment{ 
    private String fileName; 
    private bytes[] fileData; 
} 

考虑这样一个场景:

用户打开一票看到它的细节。随着机票的细节清单所有相关的附件也将出现(我的意思是只有附件的名称)。用户将点击一个文件名来下载该附件。

虽然显示故障单的详细信息,但我不想获取相关附件数据,直到用户单击其名称下载为止。 (我要秀自己的名称仅

懒加载,附着物的负载可以推迟,但如何获取它们的文件名(” 文件名‘类附件的属性)早期只,但不是’FILEDATA'。

在此先感谢。

回答

1

您需要编写自定义查询来加载附件的名称。在你的应用程序中,你应该拥有某种TicketService,并在其上使用loadTicket方法。在该方法中,您应该加载票证(并且仅加载票证),然后加载附加到票证的附件的名称。

将数据返回到UI。当用户点击附件名称时,您可以加载完整的附件。

+0

Thanks hvgotcodes! – 2012-01-14 04:08:29

1

如果没有明确的查询,使用简单的对象加载将会很困难。我会建议创建自定义finder方法(可能使用本机sql查询)。首先获取ID和文件名,显示它们,当用户单击文件名时,您有ID,从中获取附件。

+0

谢谢Santosh! – 2012-01-14 04:05:21