DB独立Java编程 - 建议?

Ari*_*l T 3 java sql database jdbc

我正在寻找一个具有以下要求的java程序:

  1. 能够在不更改代码的情况下替换正在使用的数据库.
  2. 我想从Java做维护 - 创建表,视图等.
  3. 应该能够支持复杂的查询

JDBC似乎是一个很好的起点,但似乎不同的DB的查询可能不同(例如,轻微的语法差异在MySQL和MSSQL中创建表语句).

(显然)的想法是避免专门为每个DB编写相同的代码,并依赖驱动程序为我做脏工作.

JDBC足够好吗?还有其他选择吗?

kos*_*tja 5

JPA似乎是您的最佳选择.它的工作几乎是开箱即用的.抽象直接DB处理,可以单独使用(没有应用程序服务器).

JDBC仍然是一个有效的选项,但使用它的开发并不像DBA那样与DBA无关(可以看作是JDBC上的抽象层).

是一个很好的例子.

最受欢迎的JPA实现是HibernateEclipselink,Eclipselink(前TopLink)是参考实现.