我的应用程序中有几个类:
- 个人,映射到个人表
- 公司,映射到公司表
- 地址,映射到地址表
我想在Individual和Address之间以及Company和Address之间建立持续的关联,因为自然地,个人和公司都可以有零个或多个地址。我还想使用 Address 表中的相同列来表示 DB 中的这种关联——一列指的是所有者实体的 ID,另一列表示其类型。所以在 SQL 中,我会做这样的事情来提取 id 为 5 的个人的地址:
select * from Address where ref_id = 5 and ref_type = 'Individual'
对于那些想知道我为什么这样做的人,我的动机是双重的:
- 合并使用相似数据的表/列。
- 使用更通用的模式来提供领域模型的未来扩展,而不需要 DDL。
所以问题是:如何在 Hibernate 中定义这种关联?我是 Hibernate 的新手,经过几个小时的努力,我找不到解决方法。
谢谢。