Hibernate を使用して、ある固定ドメイン タイプ A と別のドメイン タイプ B の間に 1 対 1 の関係を実装しようとしています。そのタイプは、特定のインターフェイスを実装する任意のタイプです。
状況:
システムには 3 つの異なるドメイン タイプがあります。インターフェース FlagSubscriber を実装する Country、Warehouse、および Store。
FlagSubscribers with Flags に参加したいと思います。各フラグは、0 または 1 つの FlagSubscriber とペアにすることができます。
実装:
データベースには、Country、Warehouse、Store、Flag のテーブルがあり、それぞれに ID 列と、特定の属性のさまざまな列があります。Flags と FlagSubscribers をペアにするために、次のようなリンク テーブルを作成しました。
- flag_id
- Subscriber_id
- Subscriber_type
id フィールドは自明です。subscriber_type は、subscriber_id が国、倉庫、またはストアに関連するかどうかを決定するテキスト フィールドです。
質問:
Hibernate アノテーションを使用して、Flag クラスで FlagSubscribers をマップする方法を Hibernate に指示するにはどうすればよいですか?
弁別子を使用する必要があると思いますが、特定のケースでこれを行う方法、または可能かどうかさえ正確にはわかりません。
例、提案、またはアイデアへのポインタは大歓迎です!