将列值映射到类层次结构中的对象实例

时间:2013-03-22 13:35:43

标签: hibernate nhibernate

让我们想象一下这个类结构:

abstract class A {}

class B:A {}
class C:A {}
class D:A {}


class Entity
{
  A PropertyA { get; set; }
}

实体与nhibernate映射, PropertyA 保持不变。

我的问题是:是否可以将 PropertyA 存储在具有某种ID的数据库列中?例如:

  • 如果PropertyA为B,则在数据库存储属性-b
  • 如果PropertyA为C,则在数据库存储属性-c
  • 如果PropertyA为D,则在数据库存储属性-d

并且当我查询数据库并创建实体时,我想将PropertyA初始化为B / C / D,具体取决于数据库列中的值。有可能吗?

1 个答案:

答案 0 :(得分:0)

显然,答案是nHibernate中的自定义类型

http://blog.miraclespain.com/archive/2008/Mar-18.html