[英]Hibernate 'tableless' enum mapping?
我正在處理以下情況:
我們使用table-per-subclass繼承 ,這意味着具體表的主鍵是抽象表上的外鍵引用。 超類是Product ,子類是Book , DVD , AudioCD ,...
現在在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.