Nihibernate的重要知识点
对象关系映射(Object Relational Mapping,简称ORM)是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术。 简单的说,ORM是通过使用描述对象和数据库之间映射的元数据,将对象自动持久化到关系数据库中。本质上就是将数据从一种形式转换到另外一种形式。
对象-关系映射(Object/Relation Mapping,简称ORM),是随着面向对象的软件开发方法发展而产生的。面向对象的开发方法是当今企业级应用开发环境中的主流开发方法,关系数据库是企业级应用环境中永久存放数据的主流数据存储系统。对象和关系数据是业务实体的两种表现形式,业务实体在内存中表现为对象,在数据库中表现为关系数据。内存中的对象之间存在关联和继承关系,而在数据库中,关系数据无法直接表达多对多关联和继承关系,所以在开发过程中都会将对象转换为关系数据存储到数据库中,而对象-关系映射(ORM)系统主要实现对象与关系数据数据之间的转换。(ORM使得设计和开发过程都以对象为中心,而非以数据为中心)
NHibernate 实现了PO 和数据库表之间的映射,以及SQL 的自动生成和执行。开发人员往往只需定义好了PO 到数据库表的映射关系,即可通过NHibernate 提供的方法完成持久层操作。开发人员甚至不需要对SQL 的熟练掌握, NHibernate 会根据制定的存储逻辑,自动生成对应的SQL 并调用ADO.NET接口加以执行。
重点:
1、延迟加载
2、缓存
NHibernate一级缓存即ISession缓
NHibernate二级缓存由ISessionFactory创建,可以被所有的ISession共享
3、关系映射(重点中的重点)
one-one one-many many-many,其中one-many many-many涉及到Inverse和Cascade设置
4、继承映射(重点中的重点)
支持三种基本的继承映射策略:
- 每个类分层结构一张表(table per class hierarchy)
- 每个子类一张表(table per subclass)
- 每个具体类一张表(table per concrete class)
5、并发控制
方法有Version和时间戳