2

我在 JDBC 之上实现了一个轻量级 ORM 层,用于几种不同的数据库实现。

是否有一种与数据库无关的方法来确定常见的 SQL 错误?

(如...)

  • 外键违规
  • 独特的违反
  • 检查违规
  • 检测到死锁

使用 PostgreSQL 可以通过 识别SQLException#getSQLState()这些错误代码,但这些错误代码与 MySQL 中的相应错误代码不匹配。

尽管首选解决问题的通用方法,但似乎需要特定于驱动程序的解决方案。

4

2 回答 2

5

春天管理这个。他们已经完成了让您更轻松的工作。查看它的 JDBC 包。

Spring 不久前被 VMWare 收购,但他们仍然将其框架作为开源提供。

于 2013-02-07T13:21:02.300 回答
0

虽然 Spring Framework 中的解决方案对已知 SQL 错误的分类有一些支持,但该解决方案是分层的,并且部分不正确。

我们觉得需要自定义实现,并提出了jORMcom.jajja.jorm.Dialect的方言特定元素,一个轻量级的 Java ORM。数据基于特定版本的 SQL 引擎的测试。其他版本的引擎可能在错误表示上有所不同,并且某些引擎尚未经过检查。

请注意,遗憾的是,对于 JDBC 中的 SQL 错误分类,没有与数据库无关的替代方案。

于 2013-03-07T12:30:58.430 回答