select row_number() over() from tab--->oracle/db2都可以返回结果的,mysql不可以
2) oracle/db2
run sql: select * from sysibm/sysdummy1---〉结果返回,必定为db2,否则为oracle
数据库方言自动选择这个很难确定,只有碰到特定的方法的时候才能知道用那个方言下的方法,必须具体问题才能具体分析。
hibernate中,方言是解决hql翻译成sql保证语法的正确,首先数据库都是支持sql的,不同的数据库会存在一些语法上面的差异。HQL则是基于对象的查询语言,当系统需要数据库的变换时,那么用hibernate的话就只需要改一改配置文件(修改连接字符串、驱动类、方言等),而用传统的jdbc时,那么sql语言可能就要有很多改动。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)