我有幾個班在我的應用程序:Hibernate的一個一對多的關聯,在很多部分業主的類型
- 個人,映射到單個表
- 公司,映射本公司表
- 地址,映射到地址表
我要建立在對可能的關聯個人之間地址,也公司和之間地址,因爲自然的個人和企業可以擁有零個或多個地址。 我也希望使用地址表中的相同列來表示DB中的這種關聯 - 一列指所有者實體的ID,另一列指示其類型。因此,在SQL我會做這樣的事情與ID 5提取單個的地址:
select * from Address where ref_id = 5 and ref_type = 'Individual'
對於那些想知道爲什麼我這樣做,我的動機是雙重的:
- 合併表/列使用類似的數據。
- 使用更通用的架構來提供域模型的未來擴展而不需要DDL。
所以問題是:我如何在Hibernate中定義這種關聯?我是Hibernate的新成員,經過幾個小時的努力,我找不到辦法做到這一點。
謝謝。
見where子句http://stackoverflow.com/questions/217831/how-to-use -hibernate-any-related-annotations – axtavt
謝謝,這很有幫助。但是,如果我理解正確,這將允許我與相關聯的對象(個人或公司)獲取地址。如果我想使用關聯地址獲取個人信息,該怎麼辦? – Stas