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