資料庫方言

2021-09-03 05:00:24 字數 2122 閱讀 8601

hibernate

底層依然使用

sql語句來執行資料庫操作,雖然所有關係型資料庫都支援使用標準

sql語句,但所有資料庫都對標準

sql進行了一些擴充套件,所以在語法細節上存在一些差異,因此

hibernate

需要根據資料庫來識別這些差異。

舉例來說,我們在

mysql

資料庫裡進行分頁查詢,只需使用

limit

關鍵字就可以了;而標準

sql並不支援

limit

關鍵字,例如

oracle

則需要使用行內檢視的方式來進行分頁。同樣的應用程式,當我們在不同資料庫之間遷移時,底層資料庫的訪問細節會發生改變,而

hibernate

也為這種改變做好了準備,現在我們需要做的是:告訴

hibernate

應用程式的底層即將使用哪種資料庫——這就是資料庫方言。

一旦我們為

hibernate

設定了合適的資料庫方言,

hibernate

將可以自動應付底層資料庫訪問所存在的細節差異。

不同資料庫所應使用的方言如表

5.1所示。 表

5.1 

不同資料庫及其對應方言

關聯式資料庫方言

db2org.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

oracle

(any 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

資料庫方言

hibernate就相當於乙個翻譯,配置 方言 選項,就是告訴hibernate它要說 的言。是這樣的,因為不同的資料庫,在sql語句的設計上是存在差異的,就好比不同地方的人說不同的方言。而hibernate呢,它會所有的 方言 我們要做的,就是告訴它,我們需要它說哪種 方言 以下是各資料庫對應的方...

hibernate 資料庫方言列表

rdbms dialect db2 org.hibernate.dialect.db2dialect db2 as 400 org.hibernate.dialect.db2400dialect db2 os390 org.hibernate.dialect.db2390dialect postgr...

Hibernate配置資料庫方言

在開發hibernate的程式時,需要進行sessionfactory的配置,簡單地說,也就是建立與資料庫之間連線的配置,在hibernate中一般使用xml檔案來進行配置,但是在該檔案的配置中需要設定dialect方言屬性值,對於不同的資料庫,方言的值dialect是不同的,那麼下面就列出在不同的...