2012-11-09 69 views
0

我們在我們的項目中使用了hibernate,它剛出現,我們希望使用hibernate的力量來處理沒有表格的實體。沒有表格的實體映射

簡化的情況看起來像這樣。我有3個表CUSTOMER_ATTRIBUTES,CONTRACT_ATTRIBUTES,CUSTOMER_CONTRACT_RELATION。這兩個屬性表都有結構id(客戶ID或合同ID),名稱,值(對於每個ID,可能有更多的條目)。關係表包含客戶和合同之間的映射(1個客戶可以有許多合同)。

最後我想有2個實體。客戶(由客戶ID標識並具有屬性集合)和合同(由合同ID標識並具有屬性集合)。我想讓他們使用hibernate關聯相關。

是否有可能使用某種類型的hibernate映射創建這樣的實體?

+0

只是要確定:你想建立一個[實體屬性值數據庫設計](http://en.wikipedia.org/wiki/Entity%E2%80%93attribute% E2%80%93value_model)?然後它會肯定你會[遇到很多問題](http://thedailywtf.com/Articles/Database-Changes-Done-Right.aspx)。使用Hibernate是因爲你想使用Hibernate的力量是行不通的; Hibernate最適合乾淨的關係設計。當你需要使用這個設計(遺留數據庫)時,我會放棄使用Hibernate的想法。 –

回答

0

您可以在hibernate中使用@subselect批註將實體映射到查詢而不是表格。 欲瞭解更多信息,看看休眠doc