【发布时间】:2015-07-31 01:20:58
【问题描述】:
我有一个包含这么多连接的大查询,并且我尝试了查询的 JPQL 实现(使用 createQuery() 方法),但是在使用实体而不是表名时遇到了很多语法问题。所以我选择了本机查询实现,因为它在我的 Oracle DB 上正确执行我的查询。 本机查询是特定于数据库的吗?如果我们将数据库从 Oracle 更改为其他数据库,如 MySql 或 SQLServer,它会工作吗?请帮助我,在此先感谢。
【问题讨论】:
我有一个包含这么多连接的大查询,并且我尝试了查询的 JPQL 实现(使用 createQuery() 方法),但是在使用实体而不是表名时遇到了很多语法问题。所以我选择了本机查询实现,因为它在我的 Oracle DB 上正确执行我的查询。 本机查询是特定于数据库的吗?如果我们将数据库从 Oracle 更改为其他数据库,如 MySql 或 SQLServer,它会工作吗?请帮助我,在此先感谢。
【问题讨论】:
看看这个页面,它显示了 mysql、Oracle 和 mssql 之间的一些差异:
http://www.bristle.com/Tips/SQL.htm#differences_in_sql_syntax
您可以看到指定某些类型的连接的方式有所不同。
所以是的,如果您选择使用本机查询实现和切换数据库,您可能会遇到复杂查询的问题。
【讨论】: