Error Mes:  Write operations are not allowed in read-only mode (FlushMode.NEVER) - turn your Session into FlushMode.AUTO or remove 'readOnly' er from transaction definition网上找了些资料,大概原因知道了.但是修改了FlushMode状态为auto和Commit 仍然报这个错误. 配置文件如下:Model 映射 Test.HBM.xml<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" default-lazy="false" >
  <class name="Magi.Project.Admin.Model.Test,Magi.Project.Admin.Model" table="Test" discriminator-value="0" >
    <id name="Tid" column="Tid" type="Int32">
      <generator class="increment"></generator>
    </id>
    <property name="Tname" column="TName" type="String" length="50"></property>
    <property name="Tage" column="Tage" type="Int32" length="50"></property>
    <property name="Tdesc" column="Tdesc" type="String" length="50"></property>
  </class>
  
</hibernate-mapping>
webconfig.xml:  <configSections>
    <!--Spring.Net For Log4net -->
    <!--<section name="nhibernate" type="System.Configuration.NameValueSectionHandler, System, Version=3.3.1.4000, Culture=neutral, PublicKeyToken=b77a5c561934e089" />-->
    <section name="hibernate-configuration" type="NHibernate.Cfg.ConfigurationSectionHandler,NHibernate"/>
    
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
    <sectionGroup name="common">
      <section name="logging" type="Common.Logging.ConfigurationSectionHandler, Common.Logging"/>
    </sectionGroup>
    <sectionGroup name="spring">
      <section name="context" type="Spring.Context.Support.WebContextHandler, Spring.Web"/>
      <section name="objects" type="Spring.Context.Support.DefaultSectionHandler, Spring.Core"/>
      <section name="parsers" type="Spring.Context.Support.NamespaceParsersSectionHandler, Spring.Core"/>
    </sectionGroup>
    <section name="SpringOverrideProperty" type="System.Configuration.NameValueSectionHandler"/>
    <!--++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
  </configSections>  <hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
    <session-factory>
      <property name="connection.provider">
        NHibernate.Connection.DriverConnectionProvider
      </property>
      <property name="dialect">
        NHibernate.Dialect.MsSql2008Dialect
      </property>
      <property name="connection.driver_class">
        NHibernate.Driver.SqlClientDriver
      </property>
      <property name="connection.connection_string">
        data source=.\SQLEXPRESS; User ID=sa;Password=!@#$%^;initial catalog=NHibernate_Test;Integrated Security=SSPI
      </property>
    </session-factory>
  </hibernate-configuration>
  
  <!--Spring.Net For Log4net -->
  <SpringOverrideProperty>
    <add key="NamingStrategy.TableHead" value=""/>
    <add key="db.datasource" value="data source=.\SQLEXPRESS; User ID=sa;Password=!@#$%^;initial catalog=NHibernate_Test;Integrated Security=SSPI"/>
    <!-- 0 to 6 (1 Debug 4 Error)-->
    <add key="SystemInit.IsDebug" value="true"/>
    <add key="SystemInit.Level" value="4"/>
    <add key="MappingAssemblies" value="Magi.Project.Admin.HiBernateDao,Magi.Project.Admin"/>
  </SpringOverrideProperty>
  <log4net debug="true">
    <appender name="LogFileAppender" type="log4net.Appender.FileAppender">
      <param name="File" value="Logs\Application.log.txt"/>
      <param name="datePattern" value="MM-dd HH:mm"/>
      <param name="AppendToFile" value="true"/>
      <layout type="log4net.Layout.PatternLayout">
        <param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n"/>
      </layout>
    </appender>
    <appender name="HttpTraceAppender" type="log4net.Appender.ASPNetTraceAppender">
      <layout type="log4net.Layout.PatternLayout">
        <param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n"/>
      </layout>
    </appender>
    <appender name="EventLogAppender" type="log4net.Appender.EventLogAppender">
      <layout type="log4net.Layout.PatternLayout">
        <param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n"/>
      </layout>
    </appender>
    <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
      <param name="File" value="Logs/Log.txt"/>
      <param name="AppendToFile" value="true"/>
      <param name="MaxSizeRollBackups" value="10"/>
      <param name="MaximumFileSize" value="100K"/>
      <param name="RollingStyle" value="Size"/>
      <param name="StaticLogFileName" value="true"/>
      <layout type="log4net.Layout.PatternLayout">
        <param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n"/>
      </layout>
    </appender>
    <root>
      <level value="ALL"/>
      <appender-ref ref="RollingLogFileAppender"/>
    </root>
  </log4net>
  <spring>
    <parsers>
      <parser type="Spring.Data.Config.DatabaseNamespaceParser, Spring.Data"/>
      <parser type="Spring.Transaction.Config.TxNamespaceParser, Spring.Data"/>
    </parsers>
    <context>
      <resource uri="Configs/CommonDao.xml"/>
      <resource uri="Configs/HibernateDaos.xml"/>
      <resource uri="Configs/Services.xml"/>
    </context>
    <!--<objects xmlns="http://www.springframework.net"/>-->
  </spring>
  <!--++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
CommonDao.xml<?xml version="1.0" encoding="utf-8" ?><objects xmlns="http://www.springframework.net"
         xmlns:db="http://www.springframework.net/database">
  <description>
    Definitions for the NHibernate Objects.
  </description>
  <!-- Database and NHibernate Configuration这下面是配置使用Nhibernate -->
  <db:provider id="DbProvider"  provider="SqlServer-2.0" connectionString="database=NHibernate_Test;uid=sa;pwd=!@#$%^;server=.\SQLEXPRESS;"/>
  <object id="SessionFactory" type="Spring.Data.NHibernate.LocalSessionFactoryObject, Spring.Data.NHibernate33">
    <property name="DbProvider" ref="DbProvider" />
    <property name="MappingAssemblies">
      <list>
        <!--这是配置嵌入资源的xx类对应的xx.hbm.xml文件所在的项目名称-->
        <value>Magi.Project.Admin.Model</value>
      </list>
    </property>
    <property name="HibernateProperties">
      <dictionary>
        <entry key="hibernate.connection.provider" value="NHibernate.Connection.DriverConnectionProvider" />
        <entry key="hibernate.dialect" value="NHibernate.Dialect.MsSql2005Dialect" />
        <entry key="hibernate.connection.driver_class" value="NHibernate.Driver.SqlClientDriver" />
        <entry key="show_sql" value="true" />
      </dictionary>
    </property>
  </object>  <object id="HibernateTransactionManager" type="Spring.Data.NHibernate.HibernateTransactionManager, Spring.Data.NHibernate33">
    <property name="DbProvider" ref="DbProvider" />
    <property name="sessionFactory" ref="SessionFactory" />
  </object>  <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>
</objects>HibernateDaos.xml<?xml version="1.0" encoding="utf-8" ?>
<objects xmlns="http://www.springframework.net" xmlns:db="http://www.springframework.net/database">
  <object id="TestDao" type="Magi.Project.Admin.HiBernateDao.TestDaoHibernate,Magi.Project.Admin.HiBernateDao">
    <property name="SessionFactory" ref="SessionFactory" />
  </object>
</objects>Services.xml<?xml version="1.0" encoding="utf-8" ?>
<objects xmlns="http://www.springframework.net" xmlns:db="http://www.springframework.net/database">
  <object id="TestService" type="Magi.Project.Admin.BLL.Test,Magi.Project.Admin.BLL">
    <property name="TestDao" ref="TestDao" />
  </object>
</objects>
初学Hibernate 。各位不吝赐教啊. NHibernate