NHibernate 中父类和子类的 ID

Posted

技术标签:

【中文标题】NHibernate 中父类和子类的 ID【英文标题】:ID's on parent and child classes in NHibernate 【发布时间】:2009-08-03 18:08:32 【问题描述】:

从事一个项目,我或多或少全权修改数据库架构和对象模型(很好的位置。(c:)假设我有一个微不足道的继承树,例如:

class Parent

    public int ID  get; set; 


class Child : Parent

    // some fields

最好有一个子 ID 和父 ID 相同的数据库模式(例如,父主键是 IDENTITY(1,1),子主键被分配并且是一个 NOT NULL 外键给父表),还是子表应该维护自己的主键并将其对父表的引用保留在另一个字段中?在这种情况下需要考虑什么?每种方法的优缺点是什么? NHibernate 两者都支持,对吧?

【问题讨论】:

【参考方案1】:

我会让孩子拥有自己的身份证。这将是无用的信息,但这种损害远远超过了这样一个事实,即它是一种易于识别的一对一关系,而不是“这到底是如何工作的?”关系。

是的,nHibernate 可以处理一对一的关系。

【讨论】:

以上是关于NHibernate 中父类和子类的 ID的主要内容,如果未能解决你的问题,请参考以下文章

java多态中父类和子类一定要有一样的方法名吗

java中父类和子类初始化顺序

Java中父类和子类抛出异常的处理

Python中父类和子类间类属性(非实例属性)的设置获取的传递

Java中父类和子类中的方法调用和参数传递探讨

C++中父类和子类的成员函数同名同参数同返回只是父类里面是虚函数,子类没有虚函数限定 有问题吗