oracle 如何编写SQL,使其可以在任何数据库上运行

cbjzeqam  于 12个月前  发布在  Oracle
关注(0)|答案(2)|浏览(77)

我必须编写一个应用程序(在服务器1中)来生成SQL。SQL将被传输到某个不同的服务器(服务器2)。部署在服务器2上的另一个应用程序将在部署在服务器2中的数据库上运行查询。
现在可以有不同类型的数据库和查询将不会是一个简单的(可能是200行查询)。是否有任何第三方应用程序(如Hibernate),我可以用来创建查询可能是在一个不同的格式(如HQL),可以转移到服务器2和服务器2上的应用程序将其转换为数据库特定的SQL和运行它?
我使用Spring和Java 8来编写应用程序。
先谢了。

qybjjes1

qybjjes11#

为什么不使用ORM - JPA或Hibernate,并将查询移动到可配置的不同XML,适用于每个平台/数据库?基于数据库部署XML
这里没有捷径,但如果你使用ANSI SQL标准,这是一个平台无关的,并用作大多数数据库系统的基础,包括Microsoft SQL Server,Oracle,MySQL,IBM DB2等,你的查询应该几乎没有任何问题。显然,你会失去DB提供的附加功能。

t1qtbnec

t1qtbnec2#

这是不可能的原生SQL查询。但如果你使用任何ORM技术,如Hibernate,那么这是可能的。Hibernate方言将为您生成不同的数据库特定查询。虽然hibernate是一种ORM技术,但它将定义与表示数据库表的对象的关系。我们通常把这些对象称为实体。所以如果你想使用不同的数据库,那么就没有问题。但是你必须为不同的数据库改变方言。

相关问题