String hql = "insert into oa_account(a_id, a_user_id, a_money, a_re, a_cause, a_time, a_item, a_status)values(account_sequence.nextval, ?, ?, ?, ?, ?, ?, ?);";
this.getHibernateTemplate().find(hql, new Object[]{ac.getA_user_id(),ac.getA_money(),ac.getA_re(),ac.getA_cause(),ac.getA_time(),ac.getA_item(),ac.getA_status()});
//这是报的错
org.hibernate.hql.ast.QuerySyntaxException: unexpected token: values near line 1, column 94 [insert into oa_account(a_id, a_user_id, a_money, a_re, a_cause, a_time, a_item, a_status)values(account_sequence.nextval, ?, ?, ?, ?, ?, ?, ?);]

解决方案 »

  1.   


    org.springframework.orm.hibernate3.HibernateQueryException: unexpected token: values near line 1, column 94 [insert into oa_account(a_id, a_user_id, a_money, a_re, a_cause, a_time, a_item, a_status)values(account_sequence.nextval, ?, ?, ?, ?, ?, ?, ?);]; nested exception is org.hibernate.hql.ast.QuerySyntaxException: unexpected token: values near line 1, column 94 [insert into oa_account(a_id, a_user_id, a_money, a_re, a_cause, a_time, a_item, a_status)values(account_sequence.nextval, ?, ?, ?, ?, ?, ?, ?);]
    org.springframework.orm.hibernate3.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:660)
    org.springframework.orm.hibernate3.HibernateAccessor.convertHibernateAccessException(HibernateAccessor.java:412)
    org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:411)
    org.springframework.orm.hibernate3.HibernateTemplate.executeWithNativeSession(HibernateTemplate.java:374)
    org.springframework.orm.hibernate3.HibernateTemplate.find(HibernateTemplate.java:912)
    cl.com.oa.dao.impl.AccountDAOImpl.save(AccountDAOImpl.java:36)
    cl.com.oa.action.AccountAction.save(AccountAction.java:39)
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    java.lang.reflect.Method.invoke(Unknown Source)
    com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:453)
    com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:292)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:255)
    org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:256)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
    com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:176)
    com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
    com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:265)
    org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68)
    com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
    com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:138)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
    com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:236)
    com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
    com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:236)
    com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
    com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:190)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
    org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:75)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
    org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:90)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
    org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:243)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
    com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:100)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
    com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:141)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
    com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:145)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
    com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:171)
    com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
    com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:176)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
    org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
    com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:192)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
    com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:187)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
    org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:54)
    org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:511)
    org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:432)
      

  2.   

    使用hibernate了保存的一般都已对象的形式去保存直接save(ac);
    hibernateTemplate.find方法中的queryString参数是要hql的。你这样完全是sql的写法当然会报错
      

  3.   

    确定知道是hql这方面的问题,但是不知道该怎么去解决!求大神指教!应该就是一个hql 的insert语句问题。
      

  4.   

    suciver大神您好!
    能告诉我如何解决么?
      

  5.   

    我查了下HQL……
    1.HQL
    (1)"概述"
    名称释义:HQL:Hibernate Query Language。
    语法与SQL基本一致。可以通过HQL直接使用SQL语句。2.HQL基本语法规则:
    (1)在HQL中关键字不区分大小写,通常小写,类名.属性名必须区分大小写。
    (2)HQL中的元素,如对象名、属性名等,都是java程序的元素,不是数据库元素。
    (3)因HQL使用的都是java元素,故在HQL中可直接使用.符导航。
    其中有这么条:
    (2)HQL中的元素,如对象名、属性名等,都是java程序的元素,不是数据库元素。
    不知道楼主的hql里面放的可是属性名?还是表的字段名?
      

  6.   

    hibernate是ORM的框架保存的直接用save(你的对象);
    你非要用insert的话就用Query query=session.createSQLQuery(sql);一个一个的把你的参数用
    query.setParameter(int index,Object value);
    不过不建议这样。用hibernate了保存直接save要不就失去ORM的优势了