[英]How do I map entities to a common table with Hibernate?
我有一些簡單的實體,它們存儲在具有以下結構的簡單“代碼”表中(全部存儲為字符字段):
code_fieldname pk
code_value pk
code_comment
code_field1
code_field2
我要映射的一個對象的數據存儲在以下形式的表中
code_fieldname = "segment"
class = Segment
segment.id = code_value
segment.name = code_comment
segment.markup = code_field1 (decimal property)
因此,段記錄都具有“ code_fieldname” =“ segment”,其ID為“ code_value”的值。
這種結構的映射是什么? 我正在使用基於XML的映射。
我已經設法通過對類使用繼承來解決此問題,然后在關系上使用公式屬性。 實體的定義如下:
<class name="GeneralCode" table="code_mstr">
<composite-id name="key">
<key-property name="key" column="code_fieldName" type="string"/>
<key-property name="value" column="code_value" type="string"/>
</composite-id>
<discriminator column="code_fieldName" type="string" insert="false"/>
<subclass name="Segment" discriminator-value="segment">
<property name="name" type="string" column="code_comment"/>
</subclass>
</class>
現在,我可以在如下所示的關系中使用它:
<many-to-one name="segment" class="Segment"
lazy="false" insert="false" update="false">
<formula>'segment'</formula>
<column name="segment"/>
</many-to-one>
請注意,該公式需要帶引號的“段”值,因為它始終是字段關鍵字,即在所有情況下都為code_fieldname =“段”。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.