簡體   English   中英

Hibernate“無表”枚舉映射?

[英]Hibernate 'tableless' enum mapping?

我正在處理以下情況:

我們使用table-per-subclass繼承 ,這意味着具體表的主鍵是抽象表上的外鍵引用。 超類是Product ,子類是BookDVDAudioCD ,...

現在在Java超類中,例如Product.java ,我們有一個產品類型的enum :book,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

public class Product {

    public enum Type { book, dvd, music }

    ...

    private Type type;

    ...

聽起來很奇怪? 也許。 兩個不同的團隊設計了OO部分和DB部分...

我可能會缺少一些內容,但是為什么還要將Type作為字段? 使Product getType()抽象,並在子類中實現它以返回適當的值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM