NHibernate.xml 的配置文件

<?xml version="1.0" encoding="utf-8" ?>
<!-- 注意objects点需要引用命名空xmlns:d="http://www.springframework.net/database" -->
<objects xmlns="http://www.springframework.net"
         xmlns:db
="http://www.springframework.net/database">

  
<!--spring集合nHibernate
    NH1
:定数据库链dbProvider(数据提供者)
    
注意:里的db:命名空,与objects里的xmlns:db里的db对应

  <db:dbProvider id="DbProvider"
                   provider="SqlServer-2.0"
                   connectionString="Data Source=./SQLExpress;Integrated Security=true;User Instance=true;AttachDBFilename=|DataDirectory|/Northwnd.mdf"/>
-->


  
<object id="DbProvider" type="Spring.Data.Common.DbProviderFactoryObject,Spring.Data">
    
<property name="Provider" value="SqlServer-2.0"/>
    
<property name="ConnectionString" value="server=(local);user id=sa;pwd=11;database=Northwind"/>
  
</object>
  
  
<!-- 
Provider名称和对应的数据如下所示。
SqlServer-1.1Microsoft SQL Serverprovider V1.0.5000.0,用于.NET框架V1.1
SqlServer-2.0System.Data.SqlClient名):Microsoft SQL Serverprovider V2.0.0.0,用于.NET框架V2.0
OleDb-1.1OleDbprovider V1.0.5000.0,用于.NET框架V1.1
OleDb-2.0System.Data.OleDb名):OleDbprovider V2.0.0.0,用于.NET框架V2.0
OracleClient-2.0System.Data.OracleClient名):OracleMicrosoft provider V2.0.0.0
OracleODP-2.0System.DataAccess.Client名):Oracle, Oracle provider V2.102.2.20
MySqlMySQL, MySQL provider 1.0.7.3007(按:Spring.NET的当前版本(1.1 Preview3)需要MySqlConnector 1.0.7.30072,您可以从MySql的网站上独下,当然您也可以修改Spring.Data以使用1.08 RC5.02beta版。)
  -->
    
  <!-- NH2SessionFactory配置中,指明需要境映射的程序集名称,
    通俗法是:哪些会在集成境中,被直接引用?
  -->
  
<object id="NHibernateSessionFactory" type="Spring.Data.NHibernate.LocalSessionFactoryObject, Spring.Data.NHibernate12">
    
<property name="DbProvider" ref="DbProvider"/>
    
<!-- NHibernatehbm.xml配置文件的程序集名称 -->
    <property name="MappingAssemblies">
      <list>
        <value>Spring.Northwind.Dao.NHibernate</value>
      </list>
    </property>
    <!-- 
    HibernateProperties中,可以指定调试时是否示生成的sql句。
    ,能配置存事宜:此用到的是NHibernate.Caches.SysCache
    -->
    
<property name="HibernateProperties">
      
<dictionary>
        
<entry key="hibernate.connection.provider" 
               value
="NHibernate.Connection.DriverConnectionProvider" />
        
        
<entry key="hibernate.dialect" 
               value
="NHibernate.Dialect.MsSql2000Dialect" />
        
        
<entry key="hibernate.connection.driver_class" 
               value
="NHibernate.Driver.SqlClientDriver" />
        
        
<entry key="show_sql" value="false" />
        
        
<entry key="hibernate.query.factory_class" 
               value
="NHibernate.Hql.Classic.ClassicQueryTranslatorFactory" />
        
        
<entry key="relativeExpiration" value="5" />

      
</dictionary>
    
</property>
    
<property name="ExposeTransactionAwareSessionFactory" value="true" />
  
</object>
  
  
<!-- NH3:事管理器 -->
  <object id="HibernateTransactionManager"
          type="Spring.Data.NHibernate.HibernateTransactionManager, Spring.Data.NHibernate12">
    <property name="DbProvider" ref="DbProvider" />
    <property name="SessionFactory" ref="NHibernateSessionFactory" />
  </object>

  <!-- NH4:事务拦截器 -->
  <object id="TransactionInterceptor"
          type="Spring.Transaction.Interceptor.TransactionInterceptor, Spring.Data">
    <property name="TransactionManager" ref="HibernateTransactionManager" />
    <property name="TransactionAttributeSource">
      <object type="Spring.Transaction.Interceptor.AttributesTransactionAttributeSource, Spring.Data" />
    </property>
  </object>
  
  <!-- NH5nHibernate的模板
    nHibernate目已经为开发者写好了一套通用的方法,
    能便捷的操作数据,此SessionFactory植入引用即能它工作起来。  
  -->
  
<object id="HibernateTemplate" type="Spring.Data.NHibernate.HibernateTemplate">
    
<property name="SessionFactory" ref="NHibernateSessionFactory" />
    
<property name="TemplateFlushMode" value="Auto" />
    
<property name="CacheQueries" value="true" />
  
</object>
  
</objects>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值