2011-05-25 107 views
1

我有懶惰提取問題。這是我的。我有一個名爲channel的實體類。另一個實體類叫show。每個頻道都有很多節目。我已經實現了hibernate與lazy fetching.But繼承人的問題,當我從數據庫中獲得一個通道,然後嘗試訪問程序列表我得到一個nullpointerException。 下面是一些代碼:懶惰提取問題

telekanalService.findAllTelekanal(new AsyncCallback<List<Telekanal>>() { 
      public void onFailure(Throwable caught) { 
      // Show the RPC error message to the user 
      errorLabel.setText(caught.getMessage()); 

      } 

     public void onSuccess(List<Telekanal> result) { 
     //Programm tel = result.get(1); 
     List<Programm> prog = result.get(0).getProgrammid(); //problem with this 
     //Telekanal tell = tel.getTelekanal(); 
     errorLabel.setText("tehtud:" + prog.size()); //returns Nullpointerexception 
     } 
}); 

也許我有一些貼圖錯誤,這裏有我的映射文件 Programm.hbm.xml:http://pastebin.com/Q639HreT Telekanal.hbm.xml:http://pastebin.com/4c3h0fZj PROGRAMM類:http://pastebin.com/ws57uGg2 Telekanal類:http://pastebin.com/MZB7KgT1 或者,也許我在SQL安裝有問題:http://pastebin.com/AVBM8882 並且還我使用opensessioninview保持開放 My code 真希望有人能幫助會話

回答

4
<list name="programmid" inverse="false" table="programm" lazy="true"> 
    <key> 
     <column name="t_id" /> 
    </key> 
    <list-index></list-index> 
    <one-to-many class="com.tvkava.shared.model.Programm" /> 
</list> 

不應該宣佈空list-index原因的錯誤?我不知道這將如何工作。

+0

Thx,我不知道映射一個列表需要額外的索引列 – karq 2011-05-25 19:55:37