![]() |
1
0
我想我明白你在问什么。您有两种类型的实体,它们之间可能共享一些公共信息(特别是,“我连接到什么?”)但是有很多基本的区别(我可以想象,基于IP的设备有一个“IP地址”字段,而基于串行的设备没有)。 你可能想对这个词做些研究” single-table inheritance “。这是一种技术,单表包含两种类型实体的所有字段。其中一些字段对这两种类型都是通用的,但其中一些字段只适用于一种类型或另一种类型。在预期的sti下,通常有一个字段指示记录表示的实体的“类型”,而不适用的字段都将设置为空。 或者,您可以对多个表执行类似的操作。您可以有一个硬件表来表示公共数据,然后有一个iphardware和serialhardware表来表示特定于每种类型的数据。然后,后两个表可以具有对硬件表的外键引用,以引用它们自己的“公共”数据。其他表通常引用硬件表,然后根据需要和硬件类型向下钻取到“子类”表中。 |
![]() |
Nico Pizzo · 子查询上的nhibernate联接 7 年前 |
![]() |
YMC · 无法在Nhb 4中构建只有特定字段可供选择的2个表联接 7 年前 |
![]() |
Stu · 具有特定类型的字符串外键的NHibernate映射 7 年前 |
![]() |
Zout · 为Hibernate的HiLo算法管理的列生成ID 7 年前 |