zoukankan      html  css  js  c++  java
  • 操作NHibernate进行多事务并发处理的一些小经验

    今天在做项目的时候,遇到了一些事务处理上的问题。在MSN群里咨询了DDL这些高手,结合NHB的文档看了看。写了一个小Demo,但是问题还是有不少,还需要进一步改善。。。

    public void Add(Test t, string query)
      
    {
       ISessionFactoryImplementor sf 
    = factor as ISessionFactoryImplementor;
       conn 
    = sf.OpenConnection();
                ITransaction nTran 
    = null;
       
    try
       
    {
        
        
    // 第一个Session
        session1 = factor.OpenSession(conn);

        nTran 
    = session1.BeginTransaction();
        
        session1.Save(t);
        session1.Flush();
        session1.Close();

        
        
    // 执行Sql语句
        IDbCommand com = sf.ConnectionProvider.Driver.CreateCommand();
        com.CommandText 
    = query;
        com.CommandType 
    = CommandType.Text;
        nTran.Enlist(com);
        com.Connection 
    = conn;
        com.ExecuteNonQuery();

        IDbTransaction tran 
    = com.Transaction;

        tran.Commit();
        
       }

       
    catch(Exception ex)
       
    {
        nTran.Rollback();
        
    throw ex;
       }

       
    finally
       
    {
        session1.Close();
       }

      }




    这里无法同时执行两个Session里方法。

  • 相关阅读:
    jQuery---三组基本动画 show hide
    jQuery---表格全选案例
    jQuery---prop方法和表格全选案例
    jQuery---美女相册案例
    jQuery---属性操作
    jQuery---tab栏切换
    jQuery---Class操作
    jQuery---CSS操作
    jQuery---第一部分复习
    DirBuste 使用
  • 原文地址:https://www.cnblogs.com/yfalcon/p/555346.html
Copyright © 2011-2022 走看看