0
映射有一個只讀的「目錄」,這在表中已預先配置的數據實體。 'BookCatalog'是另一個與'Catalog'表具有多對一關係的實體。相關實體的列關聯實體領域
目前我的配置文件如下,
<!--Catalog -->
<class name="xxxx.Catalog" table="CATALOG" mutable="false">
....
....
<property name="a" type="string">
<column name="A" />
</property>
<property name="b" type="string">
<column name="B" />
</property>
</class>
<!-- Book Catalog -->
<class name="xxxx.BookCatalog" table="BOOK_CATALOG">
....
....
<many-to-one name="base_catalog" class="xxxx.Catalog" fetch="select">
<column name="BASE_CATALOG_ID" length="36" />
</many-to-one>
<property name="c" type="string">
<column name="C" />
</property>
</class>
目前,如果我想訪問只讀屬性一個& B,我需要通過「base_catalog」字段訪問。
我更喜歡將BookCatalog製作爲目錄的子類,並且從'CATALOG'只讀表映射屬性a & b。
我知道我可以在CATALOG表中的每個字段都使用'公式',但由於我有更多字段,所以效率不高。
在hibernate中有沒有其他方式將關聯實體的列映射到關聯實體字段?
或
有沒有更好的數據庫設計來解決這個問題?
什麼「的問題:」你想解決? –
我不明白你爲何得出它。如果Catalog的屬性是隻讀的,那麼派生它並使派生實體屬性變爲可變(這也意味着它可以被創建和刪除)當然不是一個好主意。您是否注意到,當它從預先配置的Catalog中派生時,您無法創建新的BookCatalog。也許你不需要...但是你可以使用正常的繼承。 –