NHibernate优缺点

全文摘自:http://blog.163.com/zhaojunl_i@yeah/blog/static/1653946002010112411430201

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对象需要实现序列化接口。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。