zoukankan      html  css  js  c++  java
  • Decoration6:改数据结构为继承的关系

    一个家装市场有各种登录的角色:设计师、业主……

    这些角色有一些共同的字段,例如passWord,userName,age等等,但是分别又有自己的一些特殊字段,例如设计师要写自己的设计经历,业主可能要有自己的楼号等等。这在数据库设计上符合主扩展模式,也就是分成主表和扩展表,主表包含基本的信息,若干扩展表继承了主表的字段,同时增加了自己的独特字段。

    这样所有用户的主键都遵循同一个序列,子表的外键关联主表的主键,也是自己的主键。

    在JAP上,设计User实体为抽象的父级实体,Desing、Owner两个实体继承自User,这里有个知识点:JPA的映射策略,这里不在展开说,Internet上一搜一大把。我这里只应用InheritanceType.JOINED类型的继承关系。

    @Entity
    @Inheritance(strategy = InheritanceType.JOINED)
    public abstract class User {
        @Id
        @GeneratedValue(strategy=GenerationType.AUTO)
        private Long id;
        ……  
    }
    
    @Entity
    public class Owner extends User  {
        private int buildNum;
        ……
    }

    可见子表Owner默认增加了一列ID作为键值使用

  • 相关阅读:
    第六周 组合数据类型
    第五周 函数和代码复用
    第四周 程序的控制结构
    第三周 Python基本数据类型
    python库
    sublime text3自定义设置及快捷键大全
    Sublime Text3插件安装教程
    Linux 标准目录结构
    快学Scala-10--List 和Set
    快学Scala-09--模式匹配
  • 原文地址:https://www.cnblogs.com/mingziday/p/6838838.html
Copyright © 2011-2022 走看看