估计是主外键的问题吧,主表里没有的QID,answer表里肯定擦不进去了
往answer表里插入QID的时候,一定要确保此QID在QUESTION表里确实存在

解决方案 »

  1.   

    贴下映射文件吧,把answer和question的映射文件都贴出来
      

  2.   

       主外键约束出现的问题,比你先给question表中插入一条记录,看下他的主键是多少,比如是9,那么你在插入answer表时,用9这个值来添冲answer里的qid,就没有问题了!      Question q = new Question() ; 
          q.setQid(Integer.parseInt(answerForm.getQid())) 
    //这个Form.getQid(),把这个值打印来看看,如果你question里有个主键的值是它,那就会插入成功,否则失败!(你失败的原因很可能是因为你的question表中没有这个qid所对应的值)
         ans.setQuestion(q) ; 
      

  3.   

    你得配置文件有问题,你看一下你hibernate的配置文件,在question表对应的hibernate配置文件中set中加上inverse="true",来维护两者得关系,不过我觉得你上边写得还是有问题,应该是question中先有数据,answer中才有相应得数据