属性名 | 用途 |
---|---|
hibernate.dialect | NHibernate方言(Dialect)的类名 - 可以让NHibernate使用某些特定的数据库平台的特性 例如: |
hibernate.default_schema | 在生成的SQL中,scheml/tablespace的全限定名. 例如: |
hibernate.prepare_sql | 是否准备sql语句 例如: |
hibernate.session_factory_name | SessionFactory 被创建后将自动绑定这个名称. 例如: |
hibernate.use_outer_join | 允许使用外连接抓取。 例如: |
hibernate.cache.provider_class | 指定一个自定义的CacheProvider 缓存提供者的类名 例如: |
hibernate.query.substitutions | 把NHibernate查询中的一些短语替换为SQL短语(比如说短语可能是函数或者字符)。 例如: |
你总是可以为你的数据库设置一个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 |