2012-01-13 3 views
0

я м не очень сведущим в Hibernate и имеют следующий запрос:спящий режим отложенной загрузки коллекции

Рассмотрим два класса:

public class Ticket{ 

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

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

Рассмотрим сценарий:

пользователь открывает билет см. его детали. Помимо списка билетов, также будет показан список всех прикреплений, связанных с этим билетом (я имею в виду только имена вложений). пользователь будет нажимать на имя файла, чтобы загрузить это приложение.

Показывая информацию о билете, я не хочу получать связанные файлы данных, пока пользователь не нажмет на их имена, чтобы загрузить их. (Я хочу, чтобы показать свои имена только)

С отложенной загрузкой, загрузка отсоединяемыми может быть отложена, но как извлечь их имена файлов (»FileName„атрибут класса Attachment) ранее только, но не“FILEDATA '.

Заранее спасибо.

ответ

1

Вам нужно написать пользовательский запрос для загрузки только имен вложений. В вашем приложении у вас должен быть вид TicketService с методом loadTicket. В этом методе вы должны загрузить билет (и только билет), а затем просто имена вложений, прикрепленных к билету.

Верните эти данные в пользовательский интерфейс. Когда пользователь нажимает имя вложения, вы можете загрузить полное приложение.

+0

Спасибо hvgotcodes! –

1

Это было бы трудно сделать с использованием простой нагрузки объекта без явного запроса. Я бы предложил создать настраиваемые методы поиска (может быть, используя собственные SQL-запросы). Сначала выведите идентификаторы и имя файла, показывая их, когда пользователь нажимает на имя файла, и у вас есть идентификатор, выберите из него вложение.

+0

Спасибо, Сантош! –

Смежные вопросы