0

我使用 spring hibernate 框架并捕获查询更新接收

DataAccessException

对于写入错误日志,我想接收数据库的 URL、SQL 错误等。是否可以从 DataAccessException 类型接收?谢谢。

4

2 回答 2

1

DataAccessException 并不总是带来 SQLException。

您无法从异常访问数据库信息。您可以从数据源获得这些信息。

根据您的驱动程序,您可以将 SQLException 包装到 DataAccessException 中。但情况并非总是如此。

不要忘记异常是问题的包装。它不包含有关环境的信息。

于 2012-07-02T08:27:36.137 回答
1

DataAccessException 的来源,其中定义了所有方法,它只是 Exception 的一个包装器,所以没什么可看的。考虑到它不是数据库可能抛出的唯一异常,您应该寻找其他异常,例如JDBCException

您需要的东西仍然可以检索:

  1. 通过 ex.getMessage() 获取 SQL 错误;
  2. 从 Hibernate session 获取数据库 URL
  3. 使用 Hibernate 显示真实的查询 SQL
于 2012-07-02T08:27:57.713 回答