簡潔にするために簡略化した、これに似たテーブル構造があります
CREATE TABLE Parent (
ParentId NUMBER NOT NULL,
CONSTRAINT ParentId_PK PRIMARY KEY ParentId
);
CREATE TABLE Attribute (
ParentId NUMBER NOT NULL,
Key NVARCHAR2(200) NOT NULL,
Value NVARCHAR2(4000) NOT NULL,
CONSTRAINT Attribute_PK PRIMARY KEY (ParentId, Key),
CONSTRAINT ParentId_FK FOREIGN KEY (ParentId)
REFERENCES Parent (ParentId)
);
子のキーと値を名前と値のペアにマップし、リストを辞書として親へのマッピングに保存したいと思います。コードは次のようになります。
public class Parent
{
public long Id { get; set; }
public Dictionary<string, string> Attributes { get; set; }
}
これは可能であるように思われますが、HBM ファイルに配置する適切なマッピングがわかりません。