我有一个延迟抓取的问题。这就是我所拥有的。我有一个名为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 真的希望有人可以提供帮助
答案 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
导致错误?我不确定这是怎么回事。