我现在在用Hibernate 做项目。。但是我在做一个添加功能的时候遇到了麻烦!
             在执行查询所有信息的方法时报了个这样的错误“Could not execute JDBC batch update

              我知道这错误是说我的hql语句没有执行,我代码执行过程是这样的“查询所有信息界面--->添加信息界面---->查询所有信息界面”
           在第一次执行查询所有信息的方法的时候代码是正确的,信息都可以查询出来,但是当我执行添加的action后,就出现了上面的错误,通过测试我发现代码其实到了查询所有信息的action中,只是在执行第二次查询所有信息的hql语句中的时候报错了。而且我发现我在现实所有信息的action中的输出语句比执行添加的hql语句先打印到控制台,
          /linkman.do?custNo=2&custName=北京天桥信息技术有限公司(这个是添加的action中return前的输出语句)
-------------2
-------------北京天桥信息技术有限公司(这两个都是在查询所有信息的action中输出的语句)
Hibernate: (这个就是执行添加语句的hql语句了,有什么办法先执行添加语句,再执行查询的hql郁闷呢?)
    insert 
    into
        SCOTT.CST_LINKMAN
        (LKM_CUST_NO, LKM_NAME, LKM_SEX, LKM_POSTION, LKM_TEL, LKM_MOBILE, LKM_MEMO, LKM_ID) 
    values
        (?, ?, ?, ?, ?, ?, ?, ?)

解决方案 »

  1.   

    不懂你说什么。你用struts?那在action中写一个添加数据的方法addXX,默认方法写遍历。调用的时候,添加数据调用addXX,调用完,像这样转发到遍历的action<action name="useradd" class="com.liu.action.userAction" method="addHibernate">
    <result name="success" type="redirect">/admin/user.action</result>
      

  2.   

    Hibernate 中不是有save方法吗?还用写HQL语句?
      

  3.   

    使用hibernate需要自己写insert语句吗,不是有个save方法么,直接传对象就OK啦