懒惰的抓取问题

时间:2011-05-25 18:32:39

标签: java hibernate spring lazy-evaluation

我有一个延迟抓取的问题。这就是我所拥有的。我有一个名为channel的实体类。和另一个名为show的实体类。每个频道都有很多节目。我已经使用延迟抓取实现了hibernate。但是问题是,当我从数据库获取一个通道并在那之后尝试访问该程序列表时,我得到一个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 程序类:http://pastebin.com/ws57uGg2 电话类:http://pastebin.com/MZB7KgT1 或者我的sql设置可能有问题:http://pastebin.com/AVBM8882 而且我也在使用opensessioninview来保持会话开放 My code 真的希望有人可以提供帮助

1 个答案:

答案 0 :(得分: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导致错误?我不确定这是怎么回事。