屬性名用途
dialect
設定nhibernate的dialect類名 - 允許nhibernate針對特定的關聯式資料庫生成優化的sql
可用值: full.classname.of.dialect, assembly
default_schema
在生成的sql中, 將給定的schema/tablespace附加於非全限定名的表名上.
可用值: schema_name
use_outer_join
允許外連線抓取,已棄用,請使用max_fetch_depth。
可用值: true | false
max_fetch_depth
為單向關聯(一對一, 多對一)的外連線抓取(outer join fetch)樹設定最大深度. 值為0意味著將關閉預設的外連線抓取
可用值:建議在0 到3之間取值。
use_reflection_optimizer
開啟執行時**動態生成來替代執行時反射機制(系統級屬性). 使用這種方式的話程式在啟動會耗費一定的效能,但是在程式執行期效能會有更好的提公升. 注意即使關閉這個優化, hibernate還是需要cglib. 你不能在hibernate.cfg.xml中設定此屬性. 這個屬性不能在hibernate.cfg.xml或者是應用程式配置檔案 配置節中設定。
可用值: true | false
bytecode.provider
指定位元組碼provider用於優化nhibernate反射效能。 null代表完全關閉效能優化, lcg用於輕量級的**動態生成,codedom基於codedom**動態生成。
可用值: null | lcg | codedom
cache.provider_class
設定快取實現類(實現icacheprovider介面的類)
可用值: classname.of.cacheprovider, assembly
cache.use_minimal_puts
以頻繁的讀操作為代價, 優化二級快取來最小化寫操作(對群集快取有效)。
可用值: true | false
cache.use_query_cache
允許查詢快取, 個別查詢仍然需要被設定為可快取的.
可用值: true | false
cache.query_cache_factory
自定義實現iquerycachefactory介面的類名, 預設為內建的standardquerycachefactory。
可用值: classname.of.querycachefactory, assembly
cache.region_prefix
二級快取區域名的字首。
可用值: prefix
query.substitutions
將nhibernate查詢中的符號對映到sql查詢中的符號 (符號可能是函式名或常量名字).
可用值: hqlliteral=sql_literal, hqlfunction=sqlfunc
show_sql
輸出所有sql語句到控制台.
可用值: true | false
hbm2ddl.auto
在isessionfactory建立時,自動檢查資料庫結構,或者將資料庫schema的ddl匯出到資料庫. 使用 create-drop時,在顯式關閉isessionfactory時,將drop掉資料庫schema.
可用值: create | create-drop
use_proxy_validator
是否啟用驗證介面或者是類是否可以使用**,預設開啟。(檢查實體類的屬性或者是方法是否被設定為virtual)
可用值: true | false
transaction.factory_class
自定義itransactionfactory的實現,預設為nhibernate內建的adonettransactionfactory。
可用值: classname.of.transactionfactory, assembly
關係型資料庫
方言備註
db2nhibernate.dialect.db2dialect
db2 for iseries (os/400)
nhibernate.dialect.db2400dialect
ingres
nhibernate.dialect.ingresdialect
postgresql
nhibernate.dialect.postgresqldialect
postgresql 8.1
nhibernate.dialect.postgresql81dialect
方言在postgresql8.1中現在支援for update nowait了。
postgresql 8.2
nhibernate.dialect.postgresql82dialect
方言在postgresql8.2中現在支援在drop table和drop sequence中使用if exists關鍵字了。
mysql 3 or 4
nhibernate.dialect.mysqldialect
mysql 5
nhibernate.dialect.mysql5dialect
oracle (any version)
nhibernate.dialect.oracledialect
oracle 9/10g
nhibernate.dialect.oracle9dialect
sybase adaptive server enterprise
nhibernate.dialect.sybasedialect
sybase adaptive server anywhere
nhibernate.dialect.sybaseanywheredialect
microsoft sql server 2000
nhibernate.dialect.mssql2000dialect
microsoft sql server 2005
nhibernate.dialect.mssql2005dialect
microsoft sql server 2005 everywhere edition
nhibernate.dialect.mssqlcedialect
microsoft sql server 7
nhibernate.dialect.mssql7dialect
firebird
nhibernate.dialect.firebirddialect
把driver_class設定為 nhibernate.driver.firebirdclientdriver啟用firebird provider for .net 2.0。
sqlite
nhibernate.dialect.sqlitedialect
把driver_class設定為nhibernate.driver.sqlite20driver啟用system.data.sqlite provider for .net 2.0。
ingres 3.0
nhibernate.dialect.ingresdialect
屬性名用途
connection.provider_class
實現iconnectionprovider介面的型別。
例如: (如果是nhibernate內部的iconnectionprovider實現類)full.classname.of.connectionprovider,(如果是自定義的nhibernate外部的iconnectionprovider實現類 )full.classname.of.connectionprovider, assembly。
connection.driver_class
如果使用driverconnectionprovider,實現idriver介面的型別。
(如果是nhibernate內部的實現的idriver型別)full.classname.of.driver (如果是自定義的nhibernate外部的idriver實現類 )full.classname.of.driver, assembly。
這個配置通常是不需要配置的,如果設定好了hibernate.dialect一般會自動選好對應的idriver。 詳細的dialect與idriver的預設對應關係可以檢視api文件。
connection.connection_string
資料庫連線字串
connection.connection_string_name
資料庫連線字串名稱(定義在.net配置檔案配置節裡面的連線字串名。
connection.isolation
ado.net事務隔離級別, 檢視system.data.isolationlevel類來了解各個值的具體意義, 但請注意多數資料庫都不支援所有的隔離級別.
例如: chaos, readcommitted, readuncommitted, repeatableread, serializable, unspecified
connection.release_mode
指定ado.net何時釋放資料庫連線。
例如: auto (預設) | on_close | after_transaction
注意,這些設定僅對通過isessionfactory.opensession得到的isession起作用。對於通過isessionfactory.getcurrentsession得到的isession, 所配置的icurrentsessioncontext實現控制這些isession的連線釋放模式。
command_timeout
指定nhibernate生成的idbcommands物件的超時時間。
adonet.batch_size
指定用ado.net的批量更新的數量,預設設定為0(不啟用該功能)。
一 NHibernate配置所支援的屬性
屬性名用途 dialect 設定nhibernate的dialect類名 允許nhibernate針對特定的關聯式資料庫生成優化的sql 可用值 full.classname.of.dialect,assembly default schema 在生成的sql中,將給定的schema tablesp...
nhibernate連線池配置
nhibernate連線池配置 nhibernate.driver.sqlclientdriver server 127.0.0.1 initial catalog sun user id sun password 123456 min pool size 10 max pool size 50 c...
NHibernate配置及對映檔案
配置nhibernate有三種常見的配置方法。xml version 1.0 encoding utf 8 configuration configsections section name hibernate configuration type nhibernate.cfg.configurat...