Как отложить загрузку коллекции «многие ко многим» в спящем режиме?

Я могу лениво загружать ассоциации "один ко многим" и "многие к одному", но не могу с ассоциациями "многие ко многим".

У нас есть город, в котором мы есть торговцы, у которых есть адреса. Торговцы могут иметь несколько адресов, и несколько продавцов могут иметь одинаковые адреса.

Когда мы загружаем продавца с помощью get,

Merchant merchant = (Merchant) hib_session.get(Merchant.class, id);
System.out.println(merchant.getName());

все в порядке, адреса не загружаются, пока мы не перебираем их.

Но когда мы загружаем список продавцов,

City city = (City) hib_session.get(City.class, city_name);
for(Merchant merchant : city.getMerchants()) {
  System.out.println(merchant.getName());
}

даже если мы не получаем адреса, спящий режим автоматически загружает их.

Вот пример моей проблемы.

Сопоставление:


  
    
  
  
    
    
  



  
    
  
  
    
    
  

Есть идеи?

12
задан codea 26 January 2011 в 15:06
поделиться