• Nhibernate优缺点


    NHibernate优点:
    1.完全的ORM框架。
    NHibernate对数据库结构提供了较为完整的封装,它将数据库模式映射为较完全的对象模型,支持封装,继续机制,功能较强大,比一般的ORM灵活性高。
    开发人员可以完全按照对象模型操纵数据库。
    2.代码自动生成,减少代码和sql的开发量,使开发人员摆脱开sql,ado.net和事务,缓存等底层。
    NHibernate的O/R Mapping实现了PO 和数据库表之间的映射,以及SQL 的自动生成和执行。程序员往往只需定义好了PO 到数据库表的映射关系,即可通过NHibernate提供的方法完成持久层操作。程序员甚至不需要对SQL 的熟练把握, NHibernate 会根据制定的存储逻辑,自动生成对应的SQL 并调用ADO.NET接口加以执行。NHibernate有工具可以直接根据数据库模式生成po类,或者通过在代码中添加Attribute属性自动生成配置文件。
    这些都减少了开发工作量。
    3.较好的文档支持。
    NHibernate的代码可读性和文档都比较好。

    缺点:
    1.较复杂,学习曲线大。
    2.对数据库模式有较高的要求。NHibernate需要数据库有良好的设计和比较完善的约束。
    3.不适合统计查询系统。对于多表连查,复杂的sql实现比较复杂,而且有可能需要借助其他方案。
    4.需要一些xml配置。

    注:

    java中的po

      PO,持久对象(Persisent Object),它们是由一组属性和属性的get和set方法组成。

      在o/r映射的时候出现的概念,如果没有o/r映射,没有这个概念存在了。通常对应数据模型(数据库),本身还有部分业务逻辑的处理。可以看成是与数据库中的表相映射的java对象。最简单的PO就是对应数据库中某个表中的一条记录,多个记录可以用PO的集合。PO中应该不包含任何对数据库的操作。

      PO的属性是跟数据库表的字段一一对应的。PO对象需要实现序列化接口。

  • 相关阅读:
    数学建模反思
    [Leetcode]unique binary search trees
    暑假结束了,开始新的学习
    什么是lamda表达式?
    [Java]三大特性之封装
    [Leetcode]003. Longest Substring Without Repeating Characters
    [Leetcode] 002. Add Two Numbers
    [Leetcode] 001.Two Sum
    [数据结构]AVL树
    [数据结构]二叉搜索树
  • 原文地址:https://www.cnblogs.com/dsliang/p/1391842.html
Copyright © 2020-2023  润新知