我在JDBC之上实现了一个轻量级的ORM层,用于几个不同的数据库实现。
是否存在一种与数据库无关的方法来确定常见的SQL错误?
(例如......)
使用PostgreSQL可以通过SQLException#getSQLState()
识别这些错误代码,但这些错误代码与MySQL中的错误代码不匹配。
虽然首选问题的一般方法,但似乎需要特定于驱动程序的解决方案。
答案 0 :(得分:5)
Spring管理这个。他们已经完成了让您更轻松的工作。查看它的JDBC包。
一段时间以前,VMWare已经购买了Spring,但他们仍然将其框架作为开源提供。
答案 1 :(得分:0)
虽然Spring Framework中的解决方案对已知SQL错误的分类提供了一些支持,但解决方案存在严重分层且部分不正确。
我们觉得需要一个自定义实现,并提出了com.jajja.jorm.Dialect
,jORM的方言特定元素,一个轻量级的Java ORM。该数据基于特定版本的SQL引擎的测试。其他版本的引擎可能在错误表示方面有所不同,有些引擎尚未经过检查。
注意遗憾的是,JDBC中的SQL错误分类没有数据库无关的替代方法。