博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数据库方言
阅读量:6999 次
发布时间:2019-06-27

本文共 1553 字,大约阅读时间需要 5 分钟。

Hibernate底层依然使用SQL语句来执行数据库操作,虽然所有关系型数据库都支持使用标准SQL语句,但所有数据库都对标准SQL进行了一些扩展,所以在语法细节上存在一些差异,因此Hibernate需要根据数据库来识别这些差异。

举例来说,我们在MySQL数据库里进行分页查询,只需使用limit关键字就可以了;而标准SQL并不支持limit关键字,例如Oracle则需要使用行内视图的方式来进行分页。同样的应用程序,当我们在不同数据库之间迁移时,底层数据库的访问细节会发生改变,而Hibernate也为这种改变做好了准备,现在我们需要做的是:告诉Hibernate应用程序的底层即将使用哪种数据库——这就是数据库方言。

一旦我们为Hibernate设置了合适的数据库方言,Hibernate将可以自动应付底层数据库访问所存在的细节差异。

不同数据库所应使用的方言如表5.1所示。

5.1  不同数据库及其对应方言

关系数据库

   

DB2

org.hibernate.dialect.DB2Dialect

DB2 AS/400

org.hibernate.dialect.DB2400Dialect

DB2 OS390

org.hibernate.dialect.DB2390Dialect

PostgreSQL

org.hibernate.dialect.PostgreSQLDialect

MySQL

org.hibernate.dialect.MySQLDialect

MySQL with InnoDB

org.hibernate.dialect.MySQLInnoDBDialect

MySQL with MyISAM

org.hibernate.dialect.MySQLMyISAMDialect

Oracleany version

org.hibernate.dialect.OracleDialect

Oracle 9i

org.hibernate.dialect.Oracle9iDialect

Oracle 10g

org.hibernate.dialect.Oracle10gDialect

续表 

关系数据库

   

Sybase

org.hibernate.dialect.SybaseDialect

Sybase Anywhere

org.hibernate.dialect.SybaseAnywhereDialect

Microsoft SQL Server

org.hibernate.dialect.SQLServerDialect

SAP DB

org.hibernate.dialect.SAPDBDialect

Informix

org.hibernate.dialect.InformixDialect

HypersonicSQL

org.hibernate.dialect.HSQLDialect

Ingres

org.hibernate.dialect.IngresDialect

Progress

org.hibernate.dialect.ProgressDialect

Mckoi SQL

org.hibernate.dialect.MckoiDialect

Interbase

org.hibernate.dialect.InterbaseDialect

Pointbase

org.hibernate.dialect.PointbaseDialect

FrontBase

org.hibernate.dialect.FrontbaseDialect

Firebird

org.hibernate.dialect.FirebirdDialect

转载地址:http://wnevl.baihongyu.com/

你可能感兴趣的文章
Alluxio在多级分布式缓存系统中的应用
查看>>
C#将引入可空的引用类型
查看>>
Envoy Proxy的多面性:边缘网关、服务网格和混合网桥
查看>>
JavaScript对象:我们真的需要模拟类吗?
查看>>
js对象监听实现
查看>>
【JavaScript】call与apply兄弟列传
查看>>
分离django中的媒体文件,静态文件和网页
查看>>
算法笔记(JavaScript版)——优先队列
查看>>
js谜之正则表达式
查看>>
开发工具Eclipse篇之深度设置
查看>>
JS构造函数内的方法与构造函数prototype属性上方法的对比
查看>>
Andorid Studio NDK开发-Hello World
查看>>
PHP|PHP实践-生成器
查看>>
Win7远程桌面以及远程关机设置注意事项
查看>>
写给想做前端的你
查看>>
First angular 2 app
查看>>
css边框入门
查看>>
从零开始写个编译器吧 - 分析非终结符
查看>>
由ES规范学JavaScript(二):深入理解“连等赋值”问题
查看>>
4个小例子告诉你:如何成为一名数据极客
查看>>