hibernate3学习笔记(十五)|继承映射

这里详细讨论继承映射的3种方式:

1.Table per concrete class

继承关系如下图:

数据表设计如下图:

MySQL数据库中执行如下DDL:

1.CREATE TABLE defaultuser (2.    id INT(11) NOT NULL auto_increment PRIMARY KEY,3.    name VARCHAR(100) NOT NULL default '',4.    someProperty VARCHAR(100)5.);6.7.CREATE TABLE poweruser (8.    id INT(11) NOT NULL auto_increment PRIMARY KEY,9.    name VARCHAR(100) NOT NULL default '',10.    otherProperty VARCHAR(100)11.);

User.java

1.package com.hb3.pack_08.model;2.3.public class User {4.
5.    private Integer id;6.    private String name;7.8.    public User() {9.    }10.
11.    public Integer getId() {12.        return id;13.    }14.    public void setId(Integer id) {15.        this.id = id;16.    }17.    public String getName() {18.        return name;19.    }20.    public void setName(String name) {21.        this.name = name;22.    }23.}

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索string
, null
, integer
, public
, name
, varchar
继承学习笔记
,以便于您获取更多的相关知识。

时间: 2024-12-02 21:04:49

hibernate3学习笔记(十五)|继承映射的相关文章

kvm虚拟化学习笔记(十五)之kvm虚拟机动态迁移

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://koumm.blog.51cto.com/703525/1300783 相比KVM虚拟机静态迁移中需要拷贝虚拟机虚拟磁盘文件,kvm虚拟机动态迁移无需拷贝虚拟磁盘文件,但是需要迁移到的虚拟主机之间需要有相同的目录结构虚拟机磁盘文件,本文这部分内容通过nfs来实现,当然也可以采用GFS2集群文件系统来实现,本文的动态迁移是基于共享存储动态迁移. KVM动态迁移目前有两种,一种是基于

hibernate3学习笔记(十六)|容器映射

1.Set映射 DDL: 1.CREATE TABLE user (2. id INT(11) NOT NULL auto_increment PRIMARY KEY,3. name VARCHAR(100) NOT NULL default ''4. );5.6.CREATE TABLE email (7. id INT(11) NOT NULL,8. address VARCHAR(100) NOT NULL9.); User.java 1.package com.hb3.pack_11.m

hibernate3学习笔记(十九)|关系映射:一对一

A.唯一外键关联 DDL: 1.CREATE TABLE user (2. id INT(11) NOT NULL auto_increment PRIMARY KEY,3. name VARCHAR(100) NOT NULL default '',4. room_id INT(11)5.);6.7.CREATE TABLE room (8. id INT(11) NOT NULL auto_increment PRIMARY KEY,9. address VARCHAR(100) NOT N

hibernate3学习笔记(十八)|关系映射:一对多

接上例:http://blog.csdn.net/kunshan_shenbin/archive/2008/09/03/2873943.aspx User对Room是多对一的关系,那么反过来Room对User就是一对多的关系了. User.java: 1.package com.hb3.pack_17.model;2.3.public class User {4. 5. private Integer id;6. private String name;7.8. public User() {9

设计模式学习笔记(十五)—State模式

一.State模式定义: 允许一个对象在其状态改变时,改变它的行为.看起来对象似乎修改了它的类. 二.模式解说 State模式主要解决的是在开发中时常遇到的根据不同的状态需要进行不同的处理操作的问题,而这样的问题,大部分人是采用switch-case语句进行处理的,这样会造成一个问题:分支过多,而且如果加入一个新的状态就需要对原来的代码进行编译.State模式采用了对这些不同的状态进行封装的方式处理这类问题,当状态改变的时候进行处理然后再切换到另一种状态,也就是说把状态的切换责任交给了具体的状态

hibernate3学习笔记(十四)|Blob、Clob

在Hibernate中,可以直接对Blob.Clob作映射. DDL如下: 1.CREATE TABLE user (2. id INT(11) NOT NULL auto_increment PRIMARY KEY,3. name VARCHAR(100) NOT NULL default '',4. age INT,5. photo BLOB,6. resume TEXT7.); 注意:由于BLOB字段大小不可预计,有时需要增大BLOB字段的大小,可在数据库中改用MEDIUMBLOB甚至LO

hibernate3学习笔记(十二)|Component

在MySQL中新建数据表User: 1.CREATE TABLE user (2. id INT(11) NOT NULL auto_increment PRIMARY KEY,3. name VARCHAR(100) NOT NULL default '',4. age INT,5. email VARCHAR(100) NOT NULL6.); 按照最基本的映射策略的话,应该把User类设计成: 1.package onlyfun.caterpillar;2.3.public class U

JavaScript权威设计--JavaScript脚本化文档Document与CSS(简要学习笔记十五)

1.Document与Element和TEXT是Node的子类. Document:树形的根部节点 Element:HTML元素的节点 TEXT:文本节点   >>HtmlElement与HtmlDocument a:HtmlElement对象表示HTML中的一个个元素. b:HtmlDocument对象表示 HTML 文档树的根.HTMLDocument 接口对 DOM Document 接口进行了扩展,定义 HTML 专用的属性和方法.   >>HTML的DOM对象 a:DOM

javascript学习笔记(十五) js间歇调用和超时调用_基础知识

1.超时调用setTimeout() setTimeout() 方法接受两个参数,第一个参数是函数,第二个参数是时间(单位微秒),返回数值ID 复制代码 代码如下: setTimeout( function () { alert("你好!"); },1000); 调用前取消clearTimeout(),接受一个参数超时调用ID 复制代码 代码如下: var timeOutId = setTimeout( function () { alert("你好!"); },1