目录
- POCO 简单示例
- 为持久化字段声明访问器(getters 和 setters)
- 实现一个默认的构造方法(constructor)
- 提供一个标识属性(identifier property)(可选)
- 建议使用不是sealed的类 (可选)
- 实现继承(Inheritance)
- 实现
Equals()
和GetHashCode()
- 持久化生命周期(Lifecycle)中的回调(Callbacks)
- 合法性检查(Validatable)回调
- 用属性替代 XML
持久化类是应用程序用来解决商业问题的类(比如,在电子交易程序中的Customer和Order)。持久化类,就如同它的名字暗示的,是短暂存在的,它的实例会被持久性保存于数据库中。
如果这些类符合简单的规则,NHibernate能够工作得最好,这些规则就是Plain Old CLR Object (POJO,简单传统CLR对象)编程模型。
用一个类描述一只猫。
public class Cat
...{
private long _id; // identifier
private string _name;
private DateTime _birthdate;
private Cat _mate;
private Set _kittens;
private Color _color;
private char _sex;
private float _weight;
public long Id
...{
get ...{ return _id; }
set ...{ _id = value; }
}
public string Name
...{
get ...{ return _name; }
set ...{ _name = value; }
}
public DateTime Birthdate
...{
get ...{ return _birthdate; }
set ...{ _birthdate = value; }
}
public Cat Mate
...{
get ...{ return _mate; }
set ...{ _mate = value; }
}
public Set Kittens
...{
get ...{ return _kittens; }
set ...{ _kittens = value; }
}
public Color Color
...{
get ...{ return _color; }
set ...{ _color = value; }
}
public char Sex
...{
get ...{ return _sex; }
set ...{ _sex = value; }
}
public float Weight
...{
get ...{ return _weight; }
set ...{ _weight = value; }
}
}
![]()