你总是可以为你的数据库设置一个hibernate.dialect方言,它是NHibernate.Dialect.Dialect 的一个子类。如果你不需要使用基于native或者sequence的主键自动生成算法,或者悲观锁定(使用ISession.Lock() 或者 IQuery.SetLockMode())的话,方言就可以不必指定。然而,假若你指定了一个方言,Hibernate会为上面列出的一些属性使用特殊默认值,省得你手工指定它们。
表2.3 NHibernate SQL 方言 (hibernate.dialect)
| RDBMS | 方言 |
|---|---|
| DB2 | NHibernate.Dialect.DB2Dialect |
| PostgreSQL | NHibernate.Dialect.PostgreSQLDialect |
| MySQL | NHibernate.Dialect.MySQLDialect |
| Oracle (any version) | NHibernate.Dialect.OracleDialect |
| Oracle 9/10g | NHibernate.Dialect.Oracle9Dialect |
| Sybase | NHibernate.Dialect.SybaseDialect |
| Microsoft SQL Server 2000 | NHibernate.Dialect.MsSql2000Dialect |
| Microsoft SQL Server 7 | NHibernate.Dialect.MsSql7Dialect |
| Firebird | NHibernate.Dialect.FirebirdDialect |
浙公网安备 33010602011771号