2009-08-05 244 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()并在子类中实现以返回适当的值。