日期:2014-05-16  浏览次数:20612 次

Hibernate 不同数据库的连接及SQL方言

?

Hibernate 不同数据库的连接及SQL方言


<!--MySql 驱动程序 eg. mysql-connector-java-5.0.4-bin.jar-->
??<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
??<property name="connection.driver_class">com.mysql.jdbc.Driver</property>

??<!-- JDBC URL -->
??<property name="connection.url">jdbc:mysql://localhost/dbname?characterEncoding=gb2312</property>

??<!-- 数据库用户名-->
??<property name="connection.username">root</property>

??<!-- 数据库密码-->
??<property name="connection.password">root</property>
??
??
??<!--Sql Server 驱动程序 eg. jtds-1.2.jar-->
??<property name="dialect">org.hibernate.dialect.SQLServerDialect</property>
??<property name="connection.driver_class">net.sourceforge.jtds.jdbc.Driver</property>

??<!-- JDBC URL -->
??<property name="connection.url">jdbc:jtds:sqlserver://localhost:1433;DatabaseName=dbname</property>

??<!-- 数据库用户名-->
??<property name="connection.username">sa</property>

??<!-- 数据库密码-->
??<property name="connection.password"></property>

??
??
??<!--Oracle 驱动程序 ojdbc14.jar-->
??<property name="dialect">org.hibernate.dialect.OracleDialect</property>
??<property name="connection.driver_class">oracle.jdbc.driver.OracleDriver</property>

??<!-- JDBC URL -->
??<property name="connection.url">jdbc:oracle:thin:@localhost:1521:dbname</property>

??<!-- 数据库用户名-->
??<property name="connection.username">test</property>

??<!-- 数据库密码-->
??<property name="connection.password">test</property>



如果出现如下错误,则可能是Hibernate SQL方言 (hibernate.dialect)设置不正确。
Caused by: java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]'last_insert_id' 不是可以识别的 函数名。

RDBMS 方言
DB2 org.hibernate.dialect.DB2Dialect
DB2 AS/400 org.hibernate.dialect.DB2400Dialect
DB2 OS390 org.hibernate.dialect.DB2390Dialect
PostgreSQL