父类和子类在同一张表

现在出现了父类和子类一般都会存在一张表中,然后设计数据库的时候把父类的ID存到子类另一个字段中就实现了关联。

例如: 网站的左边导航     第一层就可以看做父类,里面就可以看做子类。

我们就先来看看怎么做导航。

效果图:

时间: 2024-12-25 09:38:50

父类和子类在同一张表的相关文章

hibernate继承关系映射方法(三)--每个具体类一张表TPC

TPC:所谓是"每个具体类一张表(table per concrete class)"的意思是:使继承体系中每一个子类都对应数据库中的一张表.每一个子类对应的数据库表都包含了父类的信息,并且包含了自己独有的属性.每个子类对应一张表,而且这个表的信息是完备的,即包含了所有从父类继承下来的属性映射的字段.这种策略是使用<union-subclass>标签来定义子类的. 注意:三个类+一个父类映射文件+两张表 student表 worker表 测试工程: Person.java

【SSH快速进阶】——Hibernate继承映射:每棵继承树映射一张表

我们都知道,Hibernate最大的一个优点就是使开发更加"面向对象",类与类之间有继承关系,Hibernate中也对这种继承关系提供了映射的封装. Hibernate为继承映射提供了三种策略 1.每棵继承树使用一张表 2.每个子类使用一张表 3.每个具体类使用一张表 本文对第一种策略进行说明. 场景 如下类图 上图中Pig类和Bird类继承Animal类,每棵继承树对应一张表,即在同一棵继承树中,所有的类的对象信息(记录)共同存放到一张表中,要判断某条记录属于哪个对象,需要在表中添加

hibernate继承关系映射关系方法(二)--每个子类一张表

TPS:所谓"每个子类一张表(Table Per Subclass)":父类一张表,每个子类一张表,父类的表保存公共有信息,子类的表只保存自己特有的信息 这种策略是使用<joined-subclass>标签来定义子类的.父类.子类都对应一张数据库表.在父类对应的数据库表中,它存储了所 有记录的公共信息,实际上该父类对应的表会包含所有的记录,包括父类和子类的记录:在子类对应的数据库表中,这个表只定义了子类中所特有的属性映射的字 段. person表 student表 work

【SSH快速进阶】——Hibernate继承映射:每个具体类映射一张表

上篇文章说的是每个类映射一张表,不管是父类还是子类.与上篇文章不同的是,这里是每个"具体类"映射一张表,什么意思呢?就是让每个子类(具体的.有意义的类)映射一张表. 场景 与上篇文章场景一样,如下类图 上图中Pig类和Bird类继承Animal类,要让每个具体类映射一张表,就是只映射Pig和Bird,如下表所示: (表 1) 上面的表有个特点就是,t_pig和t_bird的主键永远都不会相同.因为表面上看起来这是两张表,但实际上存储的都是动物(同一类型),所以还可以看做是一张表. 配置

【SSH快速进阶】——Hibernate继承映射:每个类映射一张表

上文说了每棵继承树映射一张表,本文继续描述让每个类都映射一张表的配置. 场景 与上篇文章场景一样,如下类图 上图中Pig类和Bird类继承Animal类,要让每个类映射一张表,就是让着三个类都分别映射一张表,但同时这三张表也跟对应的三个类似的,有继承关系,如下表所示: (表 1) Pig和Bird的记录都表示一个动物,因此都会在Animal对应的表中存储,而它们各自的拓展属性则存储在各自对应的表中,主键与Animal对应记录的主键各自对应. 配置 PO对象 跟上篇文章一样,实体类没有任何变化.

如何给父类和子类赋值

今天遇到了一个问题,就是如何给父类下的子类赋值.一直没解决,后来是通过别人的帮助解决的.我先把代码贴出来看看吧! 第一张图是一个两个类,一个父类和一个子类.第二张图是把两个类合并起来后的一个类.因为项目需要添加的,可以忽略. 第一步,要实例化父类,然后再实例化子类. mo.Hospital = new List<HospitalForCastle>();这是关键的一步,就是实例化子类,注意一下,实例化的时候,它是一个list集合了,然后再把结果集赋值给它.赋值的时候注意需要实例化子类,这时候实

sql语句左链接left join--3张表关联

表A---------------------------------关联第一张表B-----------------------关联第二张表c select * fomr 表名A left join 表B  on  表A字段=表B的id left join 表c on 表A字段=表c的id

使用sql语句复制一张表

如何使用sql语句复制一张表? 第一步:先建一张新表,新表的结构与老表相等. create table newbiao like chengjibiao(老表名); 第二步:将老表中的值复制到新标中. insert into newbiao SELECT * from chengjibiao(老表名);

使用Trigger审计一张表的DML操作

最近ogg的灾备端复制进程中的一张表老是报错ORA-04031,但是又查不到原因,于是想用审计的方法来看到底这张表是被谁做了DML操作,把数据搞没了.本来想用数据库自带的审计功能参考:http://hbxztc.blog.51cto.com/1587495/1870181 但是需要重启数据库,就放弃了,上网查资料看到有人用触发器来实现这个功能,于是自己也做了尝试. 平台11.2.0.4 [email protected]>select * from v$version; BANNER -----