Mandarax查询之后判断ResultSet中是否存在answer的方法

王朝java/jsp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

注意到在mandarax自己提供的crm例子中有:

public Discount getDiscount() {

try {

return (result == null) ? null : (Discount) result.getResult(Discount.class,QUERY_VARIABLE);

}

catch (InferenceException x) {

return null;

}

}

但是实际上这并不能完全说明问题,还应该类似JDBC,采用:

if(result != null && result.next)

return (Discount) result.getResult(Discount.class,QUERY_VARIABLE)

当然在mandarax的manual中,还是很清楚的说明了这一点,只是今天很生动的体会了这一点,即使判断了

result != null,在result.getResult(..)的时候,仍然throw exception:

java.lang.NullPointerException

at org.mandarax.reference.ResolutionInferenceEngine$2.getResult(ResolutionInferenceEngine.java:328)

at _publish._P_0hehe._index__jsp._jspService(_index__jsp.java:584)

at com.caucho.jsp.JavaPage.service(JavaPage.java:75)

at com.caucho.jsp.Page.subservice(Page.java:506)

at com.caucho.server.http.FilterChainPage.doFilter(FilterChainPage.java:182)

at com.airinbox.album.AlbumServletFilter.doFilter(Unknown Source)

at com.airinbox.album.AlbumServletFilter.doFilter(Unknown Source)

at com.caucho.server.http.FilterChainFilter.doFilter(FilterChainFilter.java:88)

at com.caucho.server.http.Invocation.service(Invocation.java:315)

at com.caucho.server.http.CacheInvocation.service(CacheInvocation.java:135)

at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:246)

at com.caucho.server.http.HttpRequest.handleConnection(HttpRequest.java:163)

at com.caucho.server.TcpConnection.run(TcpConnection.java:139)

at java.lang.Thread.run(Thread.java:595)

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航