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里方法。

  • 相关阅读:
    Day 50
    Spring Boot logging 配置及相关属性
    spring boot的项目名称问题
    spring boot的项目结构问题
    @RestController无法自动注入的问题
    mysql的模糊查询
    写点什么来为自己的过去和未来画个分隔符
    python学习随笔day2
    python学习随笔day1
    linux文件上传和下载
  • 原文地址:https://www.cnblogs.com/yfalcon/p/555346.html
Copyright © 2011-2022 走看看