2013-06-20 48 views
0

我有以下实体结构广告(土地(农业,建筑),空间(公寓,Ind_Space,办公室))。我不确定是否让外键成为父母的一部分,并引用孩子(广告必须有一个触发器,以确保只有一个coumn不是NULL)或者相反(我听说这是你如何在rdbms中实现多态性),并在表中建立和农业FK指向土地,并指出FK指向广告。我计划使用JPA,因此首次实现似乎更容易实现,并且性能更好但内存成本更高。我感兴趣的是它如何与其他解决方案相融合,以及您如何看待它;当您拥有这种类型的实体模型时,最好继续。感谢您的耐心等待。这两种设计最适合哪种设计?

+0

我有没有清楚的地方? – meldor

回答

0

如果是OneToMany,则需要在目标中使用外键(或使用连接表)。

如果它是一个ManyToOne,那么你需要在源代码中使用外键。

如果它是OneToOne,那么您可以使用。大多数OO人更喜欢把外键放在源头上,一些数据库人员更喜欢目标。我个人认为把它放在源代码中是最好的(它可以获得缓存命中,并更好地模拟Java)。如果你的关系是双向的,那么无论如何你都会使用这两种解决方案。

相关问题