花了两个小时去想一个相当简单的问题,所有的问题在我看来,在没解决之前都觉得很难,在真正意义上解决的时候,弄懂报错的根源就会觉得其实就这么简单。
1. 如果执行程序报错,那么第一步就看在哪报的错,重点就看错误的第一条和最后一条关于Caust By的语句。
2. 如果页面上无错误显示,控制台上也无准确消息打印(这里所说的准确消息就是说:问题的最终源头)
就比如说:今天我遇到的问题就是对单条记录的删除操作,在对不同的表进行同样的操作时,此时调用的访问层接口也一样,但是结果却不一样。
1. 因为我没捕获异常所以在页面上输出的错误只是说Dao层方法出错。 很容易让人误解是Dao方法出错了
2. 调试的时候我捕获异常了,但是没有打印错误消息,最终更让我发愁了,页面上和控制台上都没有打印错误消息!!!
3. 等到我将错误输出时,此时的错误便一目了然了。 错误的大概意思就是:因为要进行删除操作的表中存在foreign-key,而且和其他表有一对多和多对多的关系,虽然在操作表中没有关联的字段,但是存在外键和其他表关联。所以删除就出错了。
4. 最终应该把在*.hbm.xml配置文件中设置级联操作就可以了。