2009-08-05 250 views
0

我處理以下情形:Hibernate'無表'枚舉映射?

我們使用table-per-subclass inheritance,這意味着具體表的主鍵都在抽象表的外鍵引用。超類是產品,子類是DVD音頻CD,...

現在在Java超,說Product.java,我們的各類產品的enum:書,DVD,音樂等

我們在抽象表中沒有鑑別器列,也沒有類型的額外表。

是否有可能在Product.java映射enum以正確的價值觀,這取決於具體的對象?或者需要鑑別器或額外的表格?

......

每個子類

表繼承映射摘錄:

<class name="Product" table="PRODUCT"> 
    <id name="id" column="IDPRODUCT" type="int"> 
     <generator class="native" /> 
    </id> 
    ... 

    <joined-subclass name="Book" table="BOOK"> 
     <key column="IDPRODUCT" /> 

     <property ... 

    </joined-subclass> 
... 

......

Product.java

​​

聽起來很奇怪?也許。兩個獨立的團體設計了OO部分和DB部分...

回答

4

我可能會錯過一些東西,但爲什麼你甚至有Type作爲一個字段?在Product中抽象getType()並在子類中實現以返回適當的值。