技术开发 频道

NHibernate文档-持久化类

[IT168 技术文档]第 3 章 持久化类(Persistent Classes)

目录

POCO 简单示例
为持久化字段声明访问器(getters 和 setters)
实现一个默认的构造方法(constructor)
提供一个标识属性(identifier property)(可选)
建议使用不是sealed的类 (可选)
实现继承(Inheritance)
实现Equals()GetHashCode()
持久化生命周期(Lifecycle)中的回调(Callbacks)
合法性检查(Validatable)回调
用属性替代 XML

持久化类是应用程序用来解决商业问题的类(比如,在电子交易程序中的Customer和Order)。持久化类,就如同它的名字暗示的,是短暂存在的,它的实例会被持久性保存于数据库中。

如果这些类符合简单的规则,NHibernate能够工作得最好,这些规则就是Plain Old CLR Object (POJO,简单传统CLR对象)编程模型。

POCO 简单示例

用一个类描述一只猫。

 

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; } } }
0