能进入service,我service是这样写的
  private IWorkerDAO iworkerdao; 
  public IWorkerDAO getIworkerdao() {
return iworkerdao;
}public void setIworkerdao(IWorkerDAO iworkerdao) {
this.iworkerdao = iworkerdao;
}   
  //添加查找员工信息
public int addWorker(Worker worker) {
// TODO Auto-generated method stub
System.out.println("进入service");
  System.out.println("进入service:"+iworkerdao.addWorkerInfo(worker));
return iworkerdao.addWorkerInfo(worker);
}
  IWorkerDAO是dao层的接口.
    
现在执行到System.out.println("进入service:"+iworkerdao.addWorkerInfo(worker));这句就不执行了,怎么回事,也不报错。
 
 

解决方案 »

  1.   

    return iworkerdao.addWorkerInfo(worker);
    return 返回值有问题吧
      

  2.   

    System.out.println("进入service:"+iworkerdao.addWorkerInfo(worker));
    return iworkerdao.addWorkerInfo(worker);
    调用了两次iworkerdao.addWorkerInfo(worker),主键冲突了吧
      

  3.   

    应该不是主键冲突 楼主的意思调DAO的时候程序就不执行了
    楼主先看下 你的DAO 有被注入吗
    或者是哪里有断点之类的
      

  4.   

    System.out.println("进入service:"+iworkerdao.addWorkerInfo(worker));
    ------设置断点跟踪一下吧,这里您已经调用了一次,为什么后面还要:
    return iworkerdao.addWorkerInfo(worker) //?
      

  5.   

    对了也有可能是 iworkerdao 没有注入,这个需要你的spring配置文件里设置,否则就出现什么也没发生的现象。
      

  6.   

    谢谢大家的关注,我最新的程序:
    action中: public String execute() {
        iworkerservice.addWorker(worker);
        return Action.SUCCESS;
              }
    service中: public int addWorker(Worker worker) {
        System.out.println("iworkerdao="+iworkerdao);//这个测过了不是空的
        return iworkerdao.addWorkerInfo(worker);
            }
    dao中:         public int addWorkerInfo(Worker worker) {
        System.out.println(worker.getWname()+"="+worker.getWsex()+"="+worker.getWbirthday());//这儿测过了也不是空,传值正确
        getHibernateTemplate().save(worker);//执行到这步,程序就不动了,也不报错
        return 0;
           }    应该不是连接数据库的问题,我用Hibernate做的查询能正确执行并显示在页面上。     现在就是想实现添加,原来程序都能正确运行的。     拜托大家!!!!
      

  7.   

    我debug到这句getHibernateTemplate().save(worker);       后台打印出一句Hibernate: select myid.nextval from dual      应该说用到save()方法了    我是用自动生成id的方式存主键的
      

  8.   

    save()中是否没有提交?  毕竟你使用的是INSERT ,select myid.nextval 这一步肯定不会受影响的。
      

  9.   

    为什么这里用save(),不能自动提交事务呢?
      

  10.   

    没有注入成功吧!private IWorkerDAO iworkerdao!
    在你的application-dao,service.xml  查看配置文件!
      

  11.   


    这为仁兄说的 差不多。。
    自动生成的id
    没有赋给 worker另外,Hibernate 出错后 会 包装成HibernateException,这里已经处理过了,所以 你外层catch不到的
      

  12.   

    前边对worker的操作没有操作好