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

时间:2013-02-07 13:15:30

标签: java database jdbc

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

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

(例如......)

  • 外键违规
  • 唯一违规行为
  • 检查违规行为
  • 检测到死锁

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

虽然首选问题的一般方法,但似乎需要特定于驱动程序的解决方案。

2 个答案:

答案 0 :(得分:5)

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

一段时间以前,VMWare已经购买了Spring,但他们仍然将其框架作为开源提供。

答案 1 :(得分:0)

虽然Spring Framework中的解决方案对已知SQL错误的分类提供了一些支持,但解决方案存在严重分层且部分不正确。

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

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

相关问题