代码之家  ›  专栏  ›  技术社区  ›  miku

休眠“无表”枚举映射?

  •  0
  • miku  · 技术社区  · 15 年前

    我正在处理以下情况:

    我们使用 table-per-subclass inheritance ,表示具体表的主键是 摘要 表。Superclass是 产品 ,子类为 , 数字化视频光盘 , 听音 ,…

    现在,在Java超类中, Product.java 我们有一个 enum 产品类型:书籍、DVD、音乐等。

    抽象表中没有鉴别器列,类型也没有额外的表。

    是否可以绘制 类型 枚举 在里面 爪哇产品 到正确的值,取决于具体的对象?还是需要一个鉴别器或一个额外的表?

    ……

    每个子类的表继承映射摘要:

     <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>
     ...
    

    ……

    爪哇产品

    public class Product {
    
        public enum Type { book, dvd, music }
    
        ...
    
        private Type type;
    
        ...
    

    听起来怪怪的?也许吧。两个独立的团体设计了OO部分和DB部分…

    1 回复  |  直到 15 年前
        1
  •  4
  •   ChssPly76    15 年前

    我可能错过了什么,但你为什么要 Type 作为一个领域?制作 getType() 文摘 Product 并在子类中实现它以返回适当的值。