【发布时间】:2011-08-10 05:29:37
【问题描述】:
使用 Hibernate,我试图在一个固定域类型 A 和另一个域类型 B 之间实现一对一的关系,后者的类型是实现某个接口的任何类型。
情况:
该系统具有三种不同的域类型; Country、Warehouse 和 Store,它们实现了一个接口 FlagSubscriber。
我想通过 Flags 加入 FlagSubscribers。每个 Flag 可以与 0 或 1 个 FlagSubscribers 配对。
实施:
在数据库中,我有 Country、Warehouse、Store 和 Flag 的表,每个表都有一个 ID 列和用于其特定属性的各种其他列。为了将 Flags 与 FlagSubscribers 配对,我创建了一个链接表,如下所示:
- flag_id
- subscriber_id
- 订阅者类型
id 字段是不言自明的,subscriber_type 是一个文本字段,用于确定subscriber_id 是否与国家、仓库或商店相关。
问题:
使用Hibernate注解,如何告诉Hibernate如何在Flag类中映射FlagSubscribers?
我认为我需要使用鉴别器,但我不确定如何针对我的具体情况执行此操作,或者即使可能。
非常欢迎任何指向示例、建议或想法的指针!
【问题讨论】:
-
那么,Flag 的 FlagSubscribers 可以是 Country、Warehouse 或 Store?
标签: hibernate annotations one-to-one discriminator