Oracle、DB2、MySQL每种数据库都有几个不同的方言,在什么情况下使用哪种方言呢? 十万火急+++++++

Oracle、DB2、MySQL每种数据库都有几个不同的方言,在什么情况下使用哪种方言呢? 十万火急+++++++,第1张

1) 先能知道是不是mysql

select row_number() over() from tab--->oracle/db2都可以返回结果的,mysql不可以

2) oracle/db2

run sql: select * from sysibm/sysdummy1---〉结果返回,必定为db2,否则为oracle

数据库方言自动选择这个很难确定,只有碰到特定的方法的时候才能知道用那个方言下的方法,必须具体问题才能具体分析。

数据库方言就是你用的那个版本的数据库就用设定为哪种方言即可。

有些数据库有varchar2类型,有些数据库有varchar,有些数据有number类型。

而Hibernate可以支持几乎所有数据库,这就要求Hibernate针对这些差别生成不同的SQL语句。

所以Hibernate需要程序员告诉它,到底底层用的是哪种数据库。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/8330046.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-15
下一篇 2023-04-15

发表评论

登录后才能评论

评论列表(0条)

保存