一、NHibernate配置所支持的属性
属性名 | 用途 |
---|---|
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或者是应用程序配置文件<hibernate-configuration> 配置节中设置。
可用值: 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
|
二、dialect属性支持的方言选项值
关系型数据库 | 方言 | 备注 |
---|---|---|
DB2 | NHibernate.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 |
三、NHibernate提供的Ado.net属性
属性名 | 用途 |
---|---|
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配置文件<connectionStrings>配置节里面的连接字符串名。 |
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配置所支持的属性的更多相关文章
- NHibernate配置
因为NHibernate被设计为可以在许多不同环境下工作,所以它有很多配置参数.幸运的是,大部分都已经有默认值了. NHibernate.Test.dll包含了一个示例的配置文件app.config, ...
- 通俗易懂的Nhibernate教程(2) ---- 配置之Nhibernate配置
在上一个教程中,我们讲了Nhibernate的基本使用!So,让我们回顾下Nhibernate使用基本的步骤吧 1.NHibernate配置 ----- 这一步我们告诉了Nhibernate:数据库 ...
- 基于Spring的可扩展Schema进行开发自定义配置标签支持
一.背景 最近和朋友一起想开发一个类似alibaba dubbo的功能的工具,其中就用到了基于Spring的可扩展Schema进行开发自定义配置标签支持,通过上网查资料自己写了一个demo.今天在这里 ...
- NHibernate系列文章五:NHibernate配置
摘要 NHibernate有多种配置方法,代码,xml文件,以及Fluent NHibernate.这里只介绍最常用的两种NHibernate配置方法:通过代码和通过配置文件. 1. 通过代码配置 通 ...
- 使用HttpClient发送HTTPS请求以及配置Tomcat支持SSL
这里使用的是HttpComponents-Client-4.1.2 package com.jadyer.util; import java.io.File; import java.io.FileI ...
- Intent的属性及Intent-filter配置——Data、Type属性与intent-filter配置
Data属性通常用于向Action属性提供操作的数据,Data属性接受一个Uri对象,一个Uri对象通常通过如下形式的字符串来表示: content://com.android.contacts/co ...
- SQL反模式学习笔记6 支持可变属性【实体-属性-值】
目标:支持可变属性 反模式:使用泛型属性表.这种设计成为实体-属性-值(EAV),也可叫做开放架构.名-值对. 优点:通过增加一张额外的表,可以有以下好处 (1)表中的列很少: (2)新增属性时,不需 ...
- 配置iis支持.json格式的文件
配置iis支持.json格式的文件发现要让IIS支持json文件并不是单纯的添加mime这么简单啊,以下是设置方法:一.IIS 6 1. MIME设置:在IIS的站点属性的HTTP头设置里,选MIME ...
- 无法加载ISAPI 筛选器 当前配置只支持加载为 AMD64 处理器体系结构创建的映像
无法加载ISAPI 筛选器 当前配置只支持加载为 AMD64 处理器体系结构创建的映像 2011-11-9 0:18:49来源:本站原创作者:清晨320我要评论(0) 今天服务器的伪静态死活加载不上去 ...
随机推荐
- Cocos2d-x添加Android手机震动
这个震动需要调用adnroid系统的方法,所以需要C++调用java,JNI这里就不多做介绍了,需要的可以自己去查找下相关资料,如果你只是需要实现这个功能,相信你看完本文,应该就OK了! 1.首先,修 ...
- nyoj905 卡片游戏
卡片游戏 时间限制:1000 ms | 内存限制:65535 KB 难度:1 描述 小明最近宅在家里无聊,于是他发明了一种有趣的游戏,游戏道具是N张叠在一起的卡片,每张卡片上都有一个数字,数字 ...
- nyoj592 spiral grid
spiral grid 时间限制:2000 ms | 内存限制:65535 KB 难度:4 描述 Xiaod has recently discovered the grid named &q ...
- Oracle PLSQL Demo - 31.执行动态SQL拿一个返回值
DECLARE v_sql ) := ''; v_count NUMBER; BEGIN v_sql := v_sql || 'select count(1) from scott.emp t'; E ...
- Spark学习笔记总结-超级经典总结
Spark简介 spark 可以很容易和yarn结合,直接调用HDFS.Hbase上面的数据,和hadoop结合.配置很容易. spark发展迅猛,框架比hadoop更加灵活实用.减少了延时处理,提高 ...
- VC++ 获取本地IP和计算机名
主要是两个函数的使用,gethostname();.gethostbyname(); 自定义两个函数GetLocalHostName获取计算机名.GetIPAddress获取IP地址 int CIPD ...
- SSH高级应用(端口转发)
转发自:http://www.cnblogs.com/sting2me/p/5167730.html 基于SSH协议的端口转发 [前言] 最近一直在使用ssh协议的端口转发(隧道)功能,完成对内网空透 ...
- RTX——第14章 信号量
以下内容转载自安富莱电子: http://forum.armfly.com/forum.php 本章节开始讲解 RTX 的另一个重要的任务间的同步和资源共享机制,信号量. 信号量有3种用途: 1) 表 ...
- UserAgent判断浏览器类型或爬虫类型
### 浏览器------------------------------- IEMozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; T ...
- wm8976 codec
root@phyCORE-AM335x:~ amixer controlsnumid=38,iface=MIXER,name='Headphone Playback Switch'numid=39,i ...