zoukankan      html  css  js  c++  java
  • 我的ORM设计(正在完成中)

          一直对orm很感兴趣,自己也有一点想法。有一天研究了一下nhibernate,竟然发现它就是我所要的,比较兴奋,不过水平有限,把代码全读下来慢慢理解还真不容易,down下慢慢消化吧。等对nhibernate熟悉了肯定会用它,但自己还是想写一些,至少可以验证一下自己的想法。没有一个东东出来心里不塌实啊。

     言归正传。

          在我的想法中,connection不应该暴露出来,写业务层看不到应connection。其次,操作应该比较统一,但不乏多样性并满足各种要求。

    先来看一段代码:

    1。

    ISession session = SessionFactory.OpenSession();
     User user = new User();
      user...
      user...
      
      session.Insert(user);
      session.Flush();
      
    session.Close(); //Connection Auto Close.  

    2。  

    ISession session = SessionFactory.OpenSession();
    ITransaction trans = session.OpenTransaction();
    try
    {
     trans.Begin();
      User user = new User();
      user...
      user...
      
      session.Insert(user);
      session.Flush();
     trans.Commit();

    catch(Exception e)
    {
     trans.RollBack();
    }
    finally
    {
     session.Close();
    }

    3。


    ITransaction trans = SessionFactory.OpenTransaction();

    try
    {
     trans.Begin();
      ISession session1 = SessionFactory.OpenSession(trans);
       User user = new User();
       user...
       user...
       session1.Insert(user);
       session1.Flush();
       session2.Close();
       
      ISession session2 = SessionFactory.OpenSession(trans);
       Order order = new Order();
       order...
       order...
       session2.Update(order);
       session2.Flush();
       session2.Close();
       
     trans.Commit();
    }
    catch(Exception e)
    {
     trans.RollBack();
    }
    finally
    {
     SessionFactory.CloseTransaction(trans);
    }

     这样子操作我觉得还是比较方便的,而且形式上基本能够统一。

    continue...
     

  • 相关阅读:
    GMM的EM算法
    SQL Server 有关EXCEPT和INTERSECT使用
    nginx.conf 完整的集群配置
    一些建议方案猿简历
    漫游Kafka实战篇clientAPI
    iPhone发展【一】从HelloWorld开始
    SpringMVC+Spring3+Hibernate4开发环境的搭建
    tar.gz文件命名和压缩解压方法
    贪心算法(Greedy Algorithm)最小生成树 克鲁斯卡尔算法(Kruskal's algorithm)
    微软将彻底改变Windows发布方式
  • 原文地址:https://www.cnblogs.com/nil/p/70979.html
Copyright © 2011-2022 走看看