严重: Servlet.service() for servlet action threw exception
java.lang.NullPointerException
at org.hibernate.type.AbstractType.getHashCode(AbstractType.java:112)
at org.hibernate.type.AbstractType.getHashCode(AbstractType.java:120)
at org.hibernate.engine.EntityUniqueKey.generateHashCode(EntityUniqueKey.java:63)
at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:378)
at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:338)
at org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:172)
at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1121)
at org.hibernate.impl.QueryImpl.list(QueryImpl.java:79)
at oa.util.AbstractPagerManager.getPageModel(AbstractPagerManager.java:58)
at oa.util.AbstractPagerManager.getPageModel(AbstractPagerManager.java:28)
at oa.util.AbstractPagerManager.getPageModel(AbstractPagerManager.java:20)
at oa.dao.impl.CollegeDaoImpl.searchCollege(CollegeDaoImpl.java:85)
at oa.web.service.impl.CollegManagerImpl.searchCollege(CollegManagerImpl.java:34)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:304)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:107)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:107)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
at $Proxy6.searchCollege(Unknown Source)
at oa.web.struts.actions.CollegeAction.unspecified(CollegeAction.java:39)
at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:249)
at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:187)
at org.springframework.web.struts.DelegatingActionProxy.execute(DelegatingActionProxy.java:110)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
at oa.filter.OffsetAndPageSizeFilter.doFilter(OffsetAndPageSizeFilter.java:28)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)AbstractPagerManager代码:
import java.util.ArrayList;
import java.util.List;import oa.SystemContext;import org.hibernate.Query;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;/**
* page schema
* @author lpll
*
*/
@SuppressWarnings("unchecked")
public class AbstractPagerManager extends HibernateDaoSupport{
public PageModel getPageModel(String hql){
return getPageModel(hql, null);
}
public PageModel getPageModel(String hql,Object param){
return getPageModel(hql, new Object[]{param});
}
public PageModel getPageModel(String hql,Object[] params){
return getPageModel(hql, params,SystemContext.getOffset(), SystemContext.getPageSize());
}
public PageModel getPageModel(String hql,int offset,int pagesize){
return getPageModel(hql,null, offset, pagesize);
}
public PageModel getPageModel(String hql,Object param,int offset,int pagesize){
return getPageModel(hql, new Object[]{param}, offset, pagesize);
}
public PageModel getPageModel(String hql,Object[] params,int offset,int pagesize){
//获取记录总数
String countHql = getCountQuery(hql);
Query query = getSession().createQuery(countHql);
if(params != null && params.length > 0){
for(int i=0; i<params.length; i++){
query.setParameter(i, params[i]);
}
}
int total = ((Long)query.uniqueResult()).intValue();
//获取结果集
query = getSession().createQuery(hql);
if(params != null && params.length > 0){
for(int i=0; i<params.length; i++){
query.setParameter(i, params[i]);
}
}
query.setFirstResult(offset);
query.setMaxResults(pagesize);
List datas = new ArrayList();
if(query.list() != null) {
for(int i = 0; i < query.list().size(); i++) {
datas.add(query.list().get(i));
}
}
//返回PageModel
PageModel pm = new PageModel();
pm.setContent(datas);
pm.setTotalRecords(total);
return pm;
}
/**
* 根据HQL语句,获得查询总记录数的HQL语句
* 如:
* select ... from Organization o where o.parent is null
* 经过转换,可以得到:
* select count(*) from Organziation o where o.parent is null
* @param hql
* @return
*/
private String getCountQuery(String hql){
int index = hql.indexOf("from");
if(index != -1){
return "select count(*) " + hql.substring(index);
}
throw new RuntimeException("无效的HQL查询语句【"+hql+"】");
}} searchCollege方法:
/**
* search college by name or serial num
*
* @param nameOrSerialNum
* the college of name or serial num
* @return PageModel the pageModel
*/
public PageModel searchCollege(String nameOrSerialNum) {
if (nameOrSerialNum == null || nameOrSerialNum.equals("")) {
return getPageModel("select c from College c");
} else {
return getPageModel(
"from College c where c.collegeName like ? "
+ "or c.collegeSerialNumber like ? "
+ "or c.collegePlace like ?", new Object[] {
"%" + nameOrSerialNum + "%",
"%" + nameOrSerialNum + "%",
"%" + nameOrSerialNum + "%" });
}
}昨晚睡觉前还一切正常,但是今天不知道为什么早上起来打开电脑就成这样了,昨晚到现在代码都没改过
解决方案 »
- 跨域传送参数的问题,解决追加100分!!!
- response跳转问题!!
- JSONObject JSONSerializer JSONArray java中的使用
- 求救、、求救、、高手们
- 急:一个webservice 问题
- 关于JMS问题
- Interceptor has thrown exception, unwinding now(ClassCastException)
- jb9+struts中从1.0到1.1的警告错误
- 开春第一个问题:关于XML与数据交换的一系列问题,请大家多多指导!参与者有分。
- jsp分类显示(求助)
- 求助关于JAVA,模拟AMF提交,以及解析AMF的问题
- struts2 modeldriven的问题
{@link #getHibernateTemplate() HibernateTemplate}, either with
the provided convenience operations or with a custom
{@link org.springframework.orm.hibernate3.HibernateCallback} that
provides you with a Session to work on. HibernateTemplate will care
for all resource management and for proper exception conversion.把getsession改成getHibernateTemplate()试试看