日期:2014-05-17  浏览次数:20721 次

Hibernate3怎么知道session.save提交是否成功
Hibernate3中,使用session.save(o)提交数据,怎么知道该动作是否执行成功呢,比如插入的数据主键冲突?
可以通过什么方法获取到出错信息?

delete、update同上

------解决方案--------------------
哎!!那我就在说一次

你的那个跟
public Serializable save(Object object) throws HibernateException;
public Serializable save(final Object entity) throws DataAccessException 
这个两个异常不是一个体系。

java.sql.BatchUpdateException属于检查性异常,编译器强制要求进行处理,你必须写try catch

运行期异常不写try catch也一样如此。

hibernate将异常进行重新包装了。类似如下:

catch(java.sql.SQLException
){
 throw new HibernateException(XXXX);
}

}

你在外部调用H的方法怎么能捕获SQLException呀。


异常栈大体结构--》HibernateException在栈顶。