zoukankan      html  css  js  c++  java
  • O/R Mapping

    要做一个新行业的MIS系统了,这些天一直在做分析和设计。结合以前的经验和教训,想在数据访问层中使用O/R Mapping工具,以前的那中类似于Duwamish的设计方式工作量太大,维护起来也不方便。

    目前关于O/R mapping的讨论很多,在.net中就有ObjectSpace、OJB.net、XPO(devexpress公司的)、NHibernate等等。
    ObjectSpace我以前大致用过,结构很清楚,但是有两个缺点:目前没有发布、不支持 Oracle数据库!而我现在的项目中,就是使用Oracle数据库的。
    OJB.net是Open Source的,但和ObjectSpace一样,不支持Oracle数据库。
    XPO是由Devexpress开发的,也提供源代码,它是采用自定义属性的方式来实现 Class与Table的映射,其使用起来也比较方便,但是目前只支持 Access和Sql server数据库。
    NHibernate也是OpenSource项目,用.net重写Java版的Hibernate,结构很清晰,扩展性比较强,虽然目前的版本中没有提供对Oracle的支持,但是只要实现一个Oracle的Dialect即可。如果想使用更好的性能 ,可能不使用OleDB,而使用Oracle Driver(这个需要自己实现)。目前来说,NHibernate可能更符合项目要求。

    但是使用NHibernate有一个问题,那就是这个Open Source进展比较慢,远远跟不上Java的Hibernate,其中小问题比较多,特别是我在做Oracle数据库的时候,经常遇到数据类型转换的问题。

  • 相关阅读:
    __module__ 和 __class__
    __str__ 和 __repr
    __getitem__ __setitem__ __delitem__ 使用
    授权
    __getattr__ __delattr__ __setattr__ __getattribute__使用(重写python提供的错误信息)
    __import__
    hasattr getattr setattr delattr --> (反射)
    类三大特性(继承 多态 封装)
    静态方法@staticmethod
    类方法@classmethod
  • 原文地址:https://www.cnblogs.com/wljcan/p/11019.html
Copyright © 2011-2022 走看看