【发布时间】:2017-03-10 12:40:06
【问题描述】:
我目前正在尝试建立一个关系数据库 (H2),它将 JAVA 模型的面向对象结构投影到我的数据库的关系表中。我正在使用 JDBC 和 H2 RDBMS。
所以这是我的问题: 我有一个“属性”类型的对象,它应该存储在“属性”表中。此属性的所有者可以是“功能”类型的对象,也可以是“块”类型的对象,它们都有自己的表。一个属性对象只能由一个对象(函数或块)拥有,使其成为 1:n 基数。
然而,我正在努力解决如何将所有者包含在属性表中。如果我创建一个名为“ownerID”的表并在其中存储所有者的 ID(顺便说一句,全局唯一 ID),则数据库缺少有关哪个表包含此 ID 的信息(即使它是 GUID)。
-例如,是否可以包含另一个包含 owner_ID 所属表的名称的列?
-另一个想法是包含一个“functionOwnerID”列和一个“blockOwnerID”,并将其中一个留空,但这对我来说似乎是一个相当肮脏的解决方案。
我希望我对问题的描述很清楚,在此先感谢!
最好的问候, 莫里茨
【问题讨论】:
标签: sql database orm foreign-keys h2