-
继承关系树的每个具体类对应一张表
2011-11-28 08:09:20继承关系映射方式一:继承关系树的每个具体类对应一张表 实体对象: Employee: Integer id; String name; Company company;(不创建表) Company: Integer id;String name; HourlyEmployees extendsEmployee...继承关系映射方式一:继承关系树的每个具体类对应一张表
实体对象:
Employee: Integer id; String name; Company company;(不创建表)
Company: Integer id;String name;
HourlyEmployees extendsEmployee:Integer id;String name;Double rate;
SalariedEmployees extendsEmployee:Integer id;String name;Double salary;
关系模型:
company表:
houry_employees表:
salaried_employees表:
映射文件:
Company_hbm.xml
<hibernate-mapping>
<class name="bean.Company"table="company" catalog="addressbooksample">
<id name="id"type="java.lang.Integer">
<column name="ID"/>
<generator class="native"/>
</id>
<property name="name"type="java.lang.String">
<column name="name"length="20" />
</property>
</class>
</hibernate-mapping>
HourlyEmployees.hbm.xml:(映射:自身属性,继承属性,关联关系属性)
<hibernate-mapping package="bean">
<class name="bean.HourlyEmployees"table="hourly_employees" catalog="addressbooksample">
<id name="id"type="java.lang.Integer">
<column name="ID"/>
<generator class="native"/>
</id>
<property name="name"type="java.lang.String">
<column name="name"length="20" />
</property>
<property name="rate"type="java.lang.Double">
<column name="rate"precision="15" scale="3"/>
</property>
<many-to-one name="company"column="COMPANY_ID" class="Company" cascade="save-update"lazy="false"/>
</class>
</hibernate-mapping>
Salaried.hbm.xml: (映射:自身属性,继承属性,关联关系属性)
<hibernate-mappingpackage="bean"><class name="bean.SalariedEmployees"table="salaried_employees" catalog="addressbooksample">
<id name="id"type="java.lang.Integer">
<column name="ID"/>
<generator class="native"/>
</id>
<property name="name"type="java.lang.String">
<column name="name"length="20" />
</property>
<property name="salary"type="java.lang.Double">
<column name="salary"precision="15" scale="3"/>
</property>
<many-to-one name="company"column="COMPANY_ID" class="Company" cascade="save-update"/>
</class>
</hibernate-mapping>
————————————————总结———————————————————————
缺点:每个具体类对应一个表,这些表中包含重复字段;如果要查询父类的对象,必须查询所有具体的子类对应的表;如果父类的属性发生变化,必须修改所有具体的子类对应的表;不支持多态查询;
优点:符合关系数据库的设计
-
继承关系树每个类都对应一张表
2011-11-28 12:19:37继承关系映射方式:每个类都映射为一张表 实体模型: Company:Integer id;String name;Set employees=newHashSet(); Employee:Integer id;String name;Company company;父类只含有公共属性,以及关联类属性 ...继承关系映射方式:每个类都映射为一张表
实体模型:
Company:Integer id;String name;Set employees=newHashSet();
Employee:Integer id;String name;Company company;父类只含有公共属性,以及关联类属性
HourlyEmployees extendsEmployee:Integer employeeId;Double rate;子类只拥有自己的属性
SalariedEmployees extendsEmployee:Integer employeeId;Double salary;
关系模型:
company表:
hourlyEmployees表:EMPLOYEE_ID是主键又是外键
salariedEmployees表:EMPLOYEE_ID是主键又是外键
employee表:
映射文件:
Company.hbm.xml:
<hibernate-mapping>
<class name="bean.Company"table="company" catalog="addressbooksample">
<id name="id"type="java.lang.Integer">
<column name="ID"/>
<generator class="native"/>
</id>
<property name="name"type="java.lang.String">
<column name="name"length="20" />
</property>
<set name="employees"inverse="true" lazy="false">
<key column="COMPANY_ID"/>
<one-to-many class="bean.Employee"/>
</set>
</class>
</hibernate-mapping>
Employee.hbm.xml:
<hibernate-mapping>
<class name="bean.Employee"table="employee" catalog="addressbooksample">
<id name="id" type="java.lang.Integer">
<column name="ID"/>
<generator class="native"/>
</id>
<property name="name"type="java.lang.String">
<column name="name"length="20" />
</property>
<many-to-one name="company"column="COMPANY_ID" class="bean.Company"/>
<joined-subclass name="bean.HourlyEmployees"table="hourly_employees">
<key column="EMPLOYEE_ID"/>
<property name="rate"/>
</joined-subclass>
<joined-subclass name="bean.SalariedEmployees" table="salaried_employees">
<key column="EMPLOYEE_ID"/>
<property name="salary"/>
</joined-subclass>
</class>
</hibernate-mapping>
注:<joined-subclass>用于映射子类
——————————总结—————————————————
缺点:表的数目比较多,并且表之间有外键参照关系;学要进行表的内连接或左外链接
优点:某个类的属性发生变化,只需要修改和这个类对应的表;支持关联查询
-
SQL语句操作一张表挂接另外一张表的字段(通过一一对应关系)
2019-04-22 09:56:49写这句SQL语句的目的是:给一张表(表1)挂接另外一张表(表2)的字段,另外一张表(表2)是通过一 一对应关系把这张表(表1)的某个字段变为转换后的值。 表1(aaa) 表2(DLBM_Convert)一 一对应转换的表 最终...这个SQL语句困扰了我2天,近在边缘却迟迟得不到结果,最终我师傅2秒钟告诉了怎么写。
写这句SQL语句的目的是:给一张表(表1)挂接另外一张表(表2)的字段,另外一张表(表2)是通过一 一对应关系把这张表(表1)的某个字段变为转换后的值。
表1(aaa)
表2(DLBM_Convert)一 一对应转换的表
最终想要的结果
SQL语句:
update aaa inner join DLBM_Convert on aaa.DLBM=DLBM_Convert.DLBM_2D set aaa.DLBM_Convert=DLBM_Convert.DLBM_3D
-
mysql字典表的映射关系_一张表的多个字段对应另一张表的一个字段,如何关联查询...
2021-02-08 06:33:11业务表telbankidbrandidtypeid1200401字典功能表dictionaryIDdictionary_desriptionvaluevalue_description1001银行名称2004工商1001银行名称2005建行1002品牌代码0全球通1003类型0营...业务表tel bankid brandid ...业务表telbankidbrandidtypeid1200401字典功能表dictionaryIDdictionary_desriptionvaluevalue_description1001银行名称2004工商1001银行名称2005建行1002品牌代码0全球通1003类型0营...
业务表
tel bankid brandid typeid
1 2004 0 1
字典功能表
dictionaryID dictionary_desription value value_description
1001 银行名称 2004 工商
1001 银行名称 2005 建行
1002 品牌代码 0 全球通
1003 类型 0 营业厅
如图两张表业务表和功能字典表,现在想通过一条SQL语句查询业务表中bank_id,brand_id,check_flag对应的在字典表中对应的value_description,其中id值是和value对应的,但是value值并不是全部包含id的,有部分id在value中不存在的,value也是有重复的,通过前面的dictionary_id分类,假如bank_id对应的是dictionary_id=1027对应的value值,brand_id对应的dictionary_id 为1001,check_flag为1022,每个dictionary_id 对应的value不会重复,想要的结果是三个id在value中有的时候就显示对应的描述,如果没有就显示为null,假如一条数据bank_id对应的有描述为邮政,而brand_id和check_flag的id在value中不存在,那么显示就是
电话号码 银行 品牌 对账
2434545 邮政 null null
求大神们帮忙,非常纠结
展开
-
继承关系映射:根类对应一张表
2010-02-01 22:56:00配置文件:Company.hbm.xmlPUBLIC "-//Hibernate/Hibernate Mapping DTD 2.0//EN""http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd"> name="employees" inverse="true" lazy="true"> -
继承关系映射:具体类对应一张表
2010-02-01 22:54:00配置文件:Company.hbm.xmlPUBLIC "-//Hibernate/Hibernate Mapping DTD 2.0//EN""http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd"> HourlyEmployee.hbm.xmlPUBLIC "-//Hibernate/Hibernate Mapp -
继承关系映射:每个类对应一张表
2010-02-01 22:51:00配置文件:Company.hbm.xmlPUBLIC "-//Hibernate/Hibernate Mapping DTD 2.0//EN""http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd"> name="employees" invers -
laravel多态关联(一张表对应多个一对多的关系)
2015-06-10 08:48:25laravel多态关联(一张表对应多个一对多的关系) -
表的关系对应
2019-10-08 03:57:54回顾 字段类型 约束条件 创建表的完整语法 create table 表名( 字段名 字段类型[(宽度)约束条件], ...1.同一张表内,字段名不可以重复 2.字段名和字段类型是必须的,宽度和约束条件是可选的 3.最后一个... -
mysql关系表的使用_Mysql表的对应关系
2021-01-19 07:06:23表关系一对一一张表中的一条记录与另一张表中最多有一条明确的关系:通常,此设计方案保证两张表中使用同样的主键即可假设一张学生表:id 姓名 年龄 性别 籍贯 婚否 住址那么姓名 年龄 性别 这种字段比较常用到 重要... -
(11)映射继承关系二之每个类对应一张表(@Inheritance(strategy=InheritanceType.TABLE_PER_CLASS)
2017-11-13 17:52:50因为存在多态查询,所以id在继承关系的表中必须是唯一的。这就意味着不能用AUTO和IDENTITY生成器。 在mysql中,只能用生成表id来使得多个表的id保持不同。因为父类中含有共同的属性,简单来讲id同,就在父表中,... -
mysql 外键对应的表_MySQL-外键对应关系
2021-01-19 05:38:01前言:当我们用mysql数据库建表时,如果所有信息都记录在一张表中会出现哪些问题?1.表的结构不清晰,2.浪费硬盘空间3.表的扩展性极差(无法忽略的缺点)所以出现表的拆分,这样就涉及到表与表之间的关联性一、表与表... -
hibernate映射继承关系(一):一张表对应一整棵类继承树
2013-10-10 15:46:02[翻译] hibernate映射继承关系(一):一张表对应一整棵类继承树 2人收藏此文章, 我要收藏发表于1年前(2012-05-22 16:34) , 已有482次阅读 ,共0个评论 英文原址 网上这个主题的文章不在少数,这个系列... -
Hibernate基础------》映射关系---》继承映射-》join_subclass映射(每个类对应一张表)
2017-03-27 11:27:07需求:员工是人,顾客是人,员工有技能,... 有人说你可以用subclass、discriminator(鉴别器)就好啦,它方便一张表搞定所有子类,可是discriminator的不能设置非空bug是一个坎,所以还是用简单映射吧! -
day03-Mysql数据库--表与表对应关系
2020-02-29 16:12:27一对一: 一张表的一条记录一定只能与另外一张表的一条记录进行对应; 反之亦然. 学生表: 姓名,性别,年龄,身高,体重,婚姻状况, 籍贯, 家庭住址,紧急联系人 表设计成以上这种形式: 符合要求. 其中姓... -
数据库表与表之间的对应关系
2018-11-08 15:52:00一对一 比如人和身份证号码的关系 一对多 ...比如文章和分类,一篇文章可以有多个分类,一个分类可以有多篇文章,需要一张中间表,比如: id article_id authod_id ... -
hibernate继承关系映射关系方法(二)--每个子类一张表
2015-11-28 11:44:58TPS:所谓“每个子类一张表(Table Per Subclass)”:父类一张表,每个子类一张表,父类的表保存公共有信息,子类的表只保存自己特有的信息 这种策略是使用标签来定义子类的。父类、子类都对应一张数据库表。在... -
[翻译] hibernate映射继承关系(一):一张表对应一整棵类继承树
2012-05-22 16:34:00、一个类对应一张表、每一个具体类对应一张表。 之一:一张表对应一整棵类继承树(子类和父类共享同一张表) 假设我们有一个 Person 类及其子类 Employee. 每个类包括如下属性: * class ... -
Mysql多表查询(两张独立表,一张关系表)
2019-04-06 16:02:13其中user表记录用户信息,cat主要记录男女性别,mete表是用户id和性别id的对应关系 2、具体数据如下 二、查询目标 查询出所有性别为“男”的用户的“姓名”,如下记录两种不同形式的查询 1、单纯的条件... -
mysql多表查询(两张独立表,一张关系表)
2018-11-28 18:04:412、使用连接查询,显示所有教师的信息对应的课程信息,语句如下: 意思是,先将teacher表和teacher_address表连接,在将连接后的表与address表连接 可以这样理解先查询所有 得到的表如下 再select选择... -
mysql中ER图将实体映射到_数据库中的ER图是不是每一张表对应着一个实体
2021-02-08 00:13:44第一个问题,是不是每一张表对应着一个实体?楼主的概念混乱,一个表是什么?是一个关系,也就是关系模式(但还是有点区别)。我举个例子,一个学生表,里面有很多学生的信息记录,一个学生是一个实体,所以一张表应该... -
mysql 多表并列查询_Mysql多表查询(两张独立表,一张关系表)
2021-02-01 21:37:03标签:一、数据库设计1、三个数据表长这样其中user表记录用户信息,cat主要记录男女性别,mete表是用户id和性别id的对应关系2、具体数据如下二、查询目标查询出所有性别为“男”的用户的“姓名”,如下记录两种不同... -
Oracle多表联查时,某个字段由逗号分割的字符串组成,关系是此字符串切割后,对应另一张表某个字段,如何...
2019-11-27 15:09:48此需要类似于在sql中,使用in的场景,只是in是一对多,此处需要切割后的多对多。 这里我使用了Oracle函数进行处理,...ids和out_ids为两表对应的字段,通过取交集并判断是否返回0,获取两表的查询结果 -
Mysql多表查询(两张独立表,一张关系表)【转】
2019-10-03 18:20:10其中user表记录用户信息,cat主要记录男女性别,mete表是用户id和性别id的对应关系 2、具体数据如下 二、查询目标 查询出所有性别为“男”的用户的“姓名”,如下记录两种不同形式的查询 1、单纯的条件... -
Hibernate 一张表细化操作及表之间继承关系的映射配置
2008-12-31 10:38:00Hibernate 一张表细化操作及表之间继承关系的映射配置我们所做的是对一张表的内容把可以分类的字段提出来放到单独的类中是配置文件和对应类代码更清晰public class Cgoods { private Integer id; //公用的...
-
龙芯实训平台应用实战(希云)
-
ELF视频教程
-
尼尔森十大交互原则实用总结
-
系统分析师复习笔记(82页)
-
2020年世界最具情商品牌 品牌情商指数-凯络-202102.pdf
-
中国全国省市区JSON数据文件,带区域CODE,示例见描述(看仔细是否是自己需要的~):
-
2020年广州小学shp数据
-
中国银行保险监督管理委员会2019年第9号.docx
-
设计模式2-韩
-
asp做的网上课件管理系统,很漂亮的
-
零基础入门学习Java有没有难度呢?
-
upload.zip
-
一天学完MySQL数据库
-
chloevincent.github.io-源码
-
二维伊辛模型(方格)简单模拟
-
odoo 编译好的 owl js文件 owl.js
-
Mysql数据库面试直通车
-
函数重载
-
php加密解密
-
Pcie接口PIO设计示例与仿真详解--7系列.docx