现在的位置: 首页 > 综合 > 正文

hibernate列名无效

2017年12月03日 ⁄ 综合 ⁄ 共 21298字 ⁄ 字号 评论关闭

第一种情况:sql语句与你的取值没有一一对应或者sql语句有问题。这个就自己一一去对应了。


第二种情况:控制台信息如下:

  1. 2012-2-9 14:08:21 org.apache.struts.chain.ComposableRequestProcessor init  
  2. 信息: Initializing composable request processor for module prefix ''  
  3. 2012-2-9 14:08:21 org.apache.struts.chain.commands.servlet.CreateAction createAction  
  4. 信息: Initialize action of type: org.springframework.web.struts.DelegatingActionProxy  
  5. 2012-2-9 14:08:22 org.hibernate.type.NullableType nullSafeGet  
  6. 信息: could not read column value from result set: PTID; 列名无效  
  7. 2012-2-9 14:08:22 org.hibernate.util.JDBCExceptionReporter logExceptions  
  8. 警告: SQL Error: 17006, SQLState: null  
  9. 2012-2-9 14:08:22 org.hibernate.util.JDBCExceptionReporter logExceptions  
  10. 严重: 列名无效  
  11. org.hibernate.exception.GenericJDBCException: could not execute query  
  12.     at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:103)  
  13.     at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:91)  
  14.     at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)  
  15.     at org.hibernate.loader.Loader.doList(Loader.java:2147)  
  16.     at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2028)  
  17.     at org.hibernate.loader.Loader.list(Loader.java:2023)  
  18.     at org.hibernate.loader.custom.CustomLoader.list(CustomLoader.java:289)  
  19.     at org.hibernate.impl.SessionImpl.listCustomQuery(SessionImpl.java:1695)  
  20.     at org.hibernate.impl.AbstractSessionImpl.list(AbstractSessionImpl.java:142)  
  21.     at org.hibernate.impl.SQLQueryImpl.list(SQLQueryImpl.java:150)  
  22.     at adam.bp.workflow.dao.StartWorkFlowDao.getCfgPttypeObj(StartWorkFlowDao.java:121)  
  23.     at adam.bp.workflow.dao.StartWorkFlowDao$FastClassByCGLIB$2caed01b.invoke(<generated>)  
  24.     at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)  
  25.     at org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:700)  
  26.     at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)  
  27.     at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106)  
  28.     at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)  
  29.     at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)  
  30.     at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)  
  31.     at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:635)  
  32.     at adam.bp.workflow.dao.StartWorkFlowDao$EnhancerByCGLIB$319d20c7.getCfgPttypeObj(<generated>)  
  33.     at adam.bp.workflow.biz.StartWorkFlowBiz.getCfgPttypeObj(StartWorkFlowBiz.java:98)  
  34.     at adam.bp.workflow.action.StartWorkFlowAction.queryRtuInfo(StartWorkFlowAction.java:144)  
  35.     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)  
  36.     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)  
  37.     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)  
  38.     at java.lang.reflect.Method.invoke(Method.java:324)  
  39.     at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:269)  
  40.     at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:170)  
  41.     at org.apache.struts.actions.MappingDispatchAction.execute(MappingDispatchAction.java:166)  
  42.     at org.springframework.web.struts.DelegatingActionProxy.execute(DelegatingActionProxy.java:110)  
  43.     at org.apache.struts.chain.commands.servlet.ExecuteAction.execute(ExecuteAction.java:58)  
  44.     at org.apache.struts.chain.commands.AbstractExecuteAction.execute(AbstractExecuteAction.java:67)  
  45.     at org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51)  
  46.     at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191)  
  47.     at org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:305)  
  48.     at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191)  
  49.     at org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283)  
  50.     at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)  
  51.     at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462)  
  52.     at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)  
  53.     at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)  
  54.     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)  
  55.     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)  
  56.     at com.adam.dev.utils.EncoderFilter.doFilter(EncoderFilter.java:36)  
  57.     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)  
  58.     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)  
  59.     at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)  
  60.     at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)  
  61.     at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)  
  62.     at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)  
  63.     at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)  
  64.     at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)  
  65.     at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)  
  66.     at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)  
  67.     at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)  
  68.     at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)  
  69.     at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)  
  70.     at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)  
  71.     at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)  
  72.     at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)  
  73.     at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)  
  74.     at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)  
  75.     at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)  
  76.     at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)  
  77.     at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)  
  78.     at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)  
  79.     at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)  
  80.     at java.lang.Thread.run(Thread.java:534)  
  81. Caused by: java.sql.SQLException: 列名无效  
  82.     at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)  
  83.     at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)  
  84.     at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:269)  
  85.     at oracle.jdbc.driver.OracleStatement.get_column_index(OracleStatement.java:5971)  
  86.     at oracle.jdbc.driver.OracleResultSetImpl.findColumn(OracleResultSetImpl.java:1527)  
  87.     at oracle.jdbc.driver.OracleResultSet.getLong(OracleResultSet.java:1540)  
  88.     at org.apache.commons.dbcp.DelegatingResultSet.getLong(DelegatingResultSet.java:239)  
  89.     at org.hibernate.type.LongType.get(LongType.java:28)  
  90.     at org.hibernate.type.NullableType.nullSafeGet(NullableType.java:113)  
  91.     at org.hibernate.type.NullableType.nullSafeGet(NullableType.java:102)  
  92.     at org.hibernate.loader.Loader.getKeyFromResultSet(Loader.java:1088)  
  93.     at org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:553)  
  94.     at org.hibernate.loader.Loader.doQuery(Loader.java:689)  
  95.     at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:224)  
  96.     at org.hibernate.loader.Loader.doList(Loader.java:2144)  
  97.     ... 65 more  

错误原因分析:

       -->信息: could not read column value from result set: PTID; 列名无效
说明查询出来的结果集中不包含ptid的值。
原来的代码:

String sql = "select disc from CSM_MID.CFG_PTTYPE where ptid='"+ptId+"'";

List list = this.getSession().createSQLQuery(sql).addEntity(CfgPttype.class).list();
        CfgPttype cfgPttypeObj = (CfgPttype)list.get(0);
修改后正确的代码:

String sql = "select * from CSM_MID.CFG_PTTYPE where ptid='"+ptId+"'";

List list = this.getSession().createSQLQuery(sql).addEntity(CfgPttype.class).list();
        CfgPttype cfgPttypeObj = (CfgPttype)list.get(0);

由以上写法可以看出,我们需要在查询的结果集中包含查询条件ptid的值。

第三种情况:用hibernate查询的时候,数据库字段名与java后台实体名字一般不会相同,对于String型,数据库varchar2()型,还可以一一对应,但是对于数据库timestamp(6)类型与实体Date类型,却不能一一对应,除了报无效列名错误,同时对于时间的那个字段报“标识符无效”的错误,比如我们常用的createtime,updatetime之类的,错误代码如下:(我这里是createtime)

[2014-10-12 00:52:11;523, 67675]INFO (NullableType.java:203) - could not read column value from result set: createtime; 列名无效
[2014-10-12 00:52:11;523, 67675]INFO (NullableType.java:203) - could not read column value from result set: createtime; 列名无效
[2014-10-12 00:52:11;526, 67678]WARN (JDBCExceptionReporter.java:100) - SQL Error: 17006, SQLState: null
[2014-10-12 00:52:11;526, 67678]WARN (JDBCExceptionReporter.java:100) - SQL Error: 17006, SQLState: null
[2014-10-12 00:52:11;527, 67679]ERROR(JDBCExceptionReporter.java:101) - 列名无效
[2014-10-12 00:52:11;526, 67678]ERROR(JDBCExceptionReporter.java:101) - 列名无效
[2014-10-12 00:52:11;551, 67703]INFO (XmlBeanDefinitionReader.java:315) - Loading XML bean definitions from class path resource [org/springframework/jdbc/support/sql-error-codes.xml]
[2014-10-12 00:52:11;579, 67731]INFO (SQLErrorCodesFactory.java:126) - SQLErrorCodes loaded: [DB2, Derby, H2, HSQL, Informix, MS-SQL, MySQL, Oracle, PostgreSQL, Sybase]
[2014-10-12 00:52:11;669, 67821]ERROR(DaanSecurityInterceptor.java:95) - Hibernate operation: could not execute query; bad SQL grammar [select t.id id,t.gene gene,t.create_time ,t.displayer_order displayorder from pg_gene t]; nested exception is java.sql.SQLException:
列名无效
java.lang.Exception: Hibernate operation: could not execute query; bad SQL grammar [select t.id id,t.gene gene,t.create_time ,t.displayer_order displayorder from pg_gene t]; nested exception is java.sql.SQLException: 列名无效
at com.daanhealth.pg.core.web.struts2.DaanRoleInterceptor.doIntercept(DaanRoleInterceptor.java:104)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
at com.daanhealth.pg.core.web.struts2.DaanSecurityInterceptor.intercept(DaanSecurityInterceptor.java:91)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
at com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:163)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
at com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:249)
at org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
at com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:122)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
at com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:148)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
at org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:93)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
at org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:235)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
at com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:89)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
at com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:128)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
at org.apache.struts2.interceptor.ProfilingActivationInterceptor.intercept(ProfilingActivationInterceptor.java:104)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
at org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:267)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
at com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:126)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
at com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:138)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
at com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:148)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
at org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
at com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:128)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
at com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:176)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
at org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52)
at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:468)
at org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)
at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:76)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
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:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:662)
Caused by: org.springframework.jdbc.BadSqlGrammarException: Hibernate operation: could not execute query; bad SQL grammar [select t.id id,t.gene gene,t.create_time ,t.displayer_order displayorder from pg_gene t]; nested exception is java.sql.SQLException: 列名无效
at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:233)
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:72)
at org.springframework.orm.hibernate3.HibernateAccessor.convertJdbcAccessException(HibernateAccessor.java:424)
at org.springframework.orm.hibernate3.HibernateAccessor.convertHibernateAccessException(HibernateAccessor.java:410)
at org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:411)
at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:339)
at com.daanhealth.pg.core.dao.hibernate.GenericHibernateDao.findBySQLForPage(GenericHibernateDao.java:350)
at com.daanhealth.pg.service.impl.GeneServiceImpl.findGenebyName(GeneServiceImpl.java:40)
at com.daanhealth.pg.service.impl.GeneServiceImpl$$FastClassByCGLIB$$efb02b47.invoke(<generated>)
at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:191)
at org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:688)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:621)
at com.daanhealth.pg.service.impl.GeneServiceImpl$$EnhancerByCGLIB$$5e1c8d2e.findGenebyName(<generated>)
at com.daanhealth.pg.action.ref.GeneAction.findGenebyName(GeneAction.java:55)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:440)
at com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:279)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:242)
at com.daanhealth.pg.core.web.struts2.DaanRoleInterceptor.doIntercept(DaanRoleInterceptor.java:90)
... 66 more
Caused by: java.sql.SQLException: 列名无效
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:208)
at oracle.jdbc.driver.OracleStatement.getColumnIndex(OracleStatement.java:3295)
at oracle.jdbc.driver.OracleResultSetImpl.findColumn(OracleResultSetImpl.java:1914)
at oracle.jdbc.driver.OracleResultSet.getString(OracleResultSet.java:1515)
at com.mchange.v2.c3p0.impl.NewProxyResultSet.getString(NewProxyResultSet.java:3342)
at org.hibernate.type.StringType.get(StringType.java:41)
at org.hibernate.type.NullableType.nullSafeGet(NullableType.java:184)
at org.hibernate.type.NullableType.nullSafeGet(NullableType.java:210)
at org.hibernate.loader.custom.CustomLoader$ScalarResultColumnProcessor.extract(CustomLoader.java:501)
at org.hibernate.loader.custom.CustomLoader$ResultRowProcessor.buildResultRow(CustomLoader.java:447)
at org.hibernate.loader.custom.CustomLoader.getResultColumnOrRow(CustomLoader.java:344)
at org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:648)
at org.hibernate.loader.Loader.doQuery(Loader.java:746)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:271)
at org.hibernate.loader.Loader.doList(Loader.java:2273)
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2151)
at org.hibernate.loader.Loader.list(Loader.java:2146)
at org.hibernate.loader.custom.CustomLoader.list(CustomLoader.java:316)
at org.hibernate.impl.SessionImpl.listCustomQuery(SessionImpl.java:1832)
at org.hibernate.impl.AbstractSessionImpl.list(AbstractSessionImpl.java:165)
at org.hibernate.impl.SQLQueryImpl.list(SQLQueryImpl.java:179)
at com.daanhealth.pg.core.dao.hibernate.GenericHibernateDao$11.doInHibernate(GenericHibernateDao.java:368)
at com.daanhealth.pg.core.dao.hibernate.GenericHibernateDao$11.doInHibernate(GenericHibernateDao.java:1)
at org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:406)
... 86 more

怎么解决呢,就是对sql语句加入别名。比如:select  t.id,tiname from PG t,这是最初的sql,那么修改后的sql应该为:select *t,id id,t.name name from PG t,也就是在后面加上别名,后面的id,name是你实体的id,name。我这里是相同的,但是也可能不相同。看你数据库与实体的命名了。

抱歉!评论已关闭.