- 浏览: 151564 次
- 性别:
- 来自: 厦门
文章分类
- 全部博客 (210)
- java (44)
- javascript (5)
- 网摘 (21)
- 程序人生 (19)
- hibernate (21)
- spring (7)
- struts (1)
- jquery (2)
- mssql (3)
- mysql (3)
- oracle (7)
- 学习日记 (10)
- PowerDesigner (1)
- android (4)
- 调试 (1)
- tomcat (3)
- webapp (1)
- context (2)
- jsp (2)
- 学习 (18)
- 态度 (4)
- 坚持 (4)
- jsf (1)
- ui (1)
- css (1)
- seam (0)
- 转载 (5)
- JNDI (1)
- 创业 (1)
- 公司 (1)
- 方向 (1)
- ETL (1)
- Datastage (1)
- 数据整合 (1)
- 心情,感触 (1)
- 开发 (2)
- 测试 (1)
- 需求 (1)
- 湿身 (1)
- 网购,分类 (1)
- 驾校,转载 (1)
- 中秋,露营 (1)
- 域名 (1)
- 空间 (1)
- 网站程序 (1)
- SolrCloud (1)
- Solr (6)
- 全文库 (1)
- HBase (1)
- Hadoop (1)
- 网络应用 (1)
- 数据结构 (1)
- NoSQL (1)
- jQueryEasyUI (1)
- 面试 (1)
- 三十六计 (1)
- S2S3H4 (1)
- jar (1)
- war (1)
- web 项目 (1)
- Subversion (1)
- TortoiseSVN (1)
- MyEclipse (1)
- eclipse svn插件 (1)
- SQL2005 (1)
- ASP (1)
- 笔记 (2)
- 虚拟器、centOS、jdk、tomcat、nginx (1)
- memcached (1)
- nginx (1)
- telnet (1)
- nfs (1)
- zookeeper (2)
- window (1)
- linux (3)
- cronolog (1)
- web (1)
- mybatis (3)
- 设计模式 (1)
- 测试覆盖率 (1)
- EclEmma (1)
- tomcat7 (1)
- sore (1)
- 时间 (1)
- fackbook (0)
- facebook (1)
- IK (2)
- PKUSUMSU (1)
- openoffice (1)
- pdf (1)
- memcache (1)
- 动态词库 (1)
- 动态同义词 (1)
- centos7.3 (2)
- maven (4)
- 111 (0)
- nexus (2)
- 23种设计模式 (1)
- springboot (1)
- shiro (1)
- redis (1)
- rabbitMQ (1)
- native (1)
- dll (1)
- jasperReports (1)
- ireport (1)
最新评论
-
zhongfenglin:
学车的经历 -
Tiny_小小:
...
网购的选择 -
jrjr200411:
楼主写的好!
面对大公司和小公司的选择 -
feelboy:
说的很好。
每周四十小时,你有多少是在为自己干活?
每棵继承树映射成一张表
1、理解如何映射
因为类继承树肯定是对应多个类,要把多个类的信息存放在一张表中,必须有某种机制来区分哪些记录是属于哪个类的。
这种机制就是,在表中添加一个字段,用这个字段的值来进行区分。用hibernate实现这种策略的时候,有如下步骤:
父类用普通的<class>标签定义
在父类中定义一个discriminator,即指定这个区分的字段的名称和类型
如:<discriminator column=”XXX” type=”string”/>
子类使用<subclass>标签定义,在定义subclass的时候,需要注意如下几点:
Subclass标签的name属性是子类的全路径名
在Subclass标签中,用discriminator-value属性来标明本子类的discriminator字段(用来区分不同类的字段)
的值Subclass标签,既可以被class标签所包含(这种包含关系正是表明了类之间的继承关系),也可以与class标
签平行。 当subclass标签的定义与class标签平行的时候,需要在subclass标签中,添加extends属性,里面的值
是父类的全路径名称。子类的其它属性,像普通类一样,定义在subclass标签的内部。
2、理解如何存储
存储的时候hibernate会自动将鉴别字段值插入到数据库中,在加载数据的时候,hibernate能根据这个鉴别值
正确的加载对象
多态查询:在hibernate加载数据的时候能鉴别出正真的类型(instanceOf)
get支持多态查询
load只有在lazy=false,才支持多态查询
hql支持多态查询
<class name="Animal" table="t_animal" > <id name="id"> <generator class="assigned"/> </id> <property name="name"/> <property name="sex"/> <!-- extend1 --> <discriminator column="type" type="string"/> <subclass name="Pig" discriminator-value="P"> <property name="weight"/> </subclass> <subclass name="Bird" discriminator-value="B"> <property name="height"/> </subclass> <!-- extend2 --> <joined-subclass name="Pig" table="t_pig"> <key column="pid"/> <property name="weight"/> </joined-subclass> <joined-subclass name="Bird" table="t_bird"> <key column="bid"/> <property name="height"/> </joined-subclass> <!-- extend3 --> <union-subclass name="Pig" table="t_pig"> <property name="weight"/> </union-subclass> <union-subclass name="Bird" table="t_bird"> <property name="height"/> </union-subclass> </class>
发表评论
-
Hibernate工作原理
2019-05-14 20:00 328hibernate 简介:hibernate是一个开源框架, ... -
SSH整合的几种最常见方式 .
2012-03-22 12:00 1207Spring实例Action的两种方式:1、Delegatin ... -
Hibernate Annotation笔记
2011-11-23 23:58 619(1)简介:在过去几年里,Hibernate不断发展,几乎 ... -
使用 Hibernate 进行大数据量的性能测试
2010-11-08 20:28 983近日为是否在项目中使 ... -
加速你的Hibernate引擎
2010-11-08 19:35 702参考(上、下): http://blog.csdn.net/ ... -
hibernate各种属性配置
2010-10-29 10:32 997hibernate.dialect 一个Hibern ... -
hibernate的映射
2010-10-24 17:41 703集合映射 public class CollectionMa ... -
多对多
2010-10-24 17:11 692多对多单向 User(多)对多(Role),一般都是通过中间 ... -
多对一
2010-10-24 17:00 826多对一单向 User(多)对Group(一),在User实体 ... -
一对多
2010-10-24 16:51 718一对多单向 定义两个实体类,及两个映射文件 一对多一的一端 ... -
一对一
2010-10-24 16:36 658一对一单向 定义两个类,两个映射文件一个工具类生成表 pu ... -
hibernate的抓取策略
2010-10-24 16:08 718hibernate抓取策略(单端代理的批量抓取) 保持默认, ... -
hibernate的锁
2010-10-24 15:48 739乐观锁 大多数基于数据版本记录机制(version)实现,一 ... -
hibernate的lazy
2010-10-24 15:44 782hibernate lazy策略可以使用在: * <cl ... -
hibernate的缓存
2010-10-24 15:33 977hibernate一级缓存 一级缓存很短和session的生命 ... -
session管理
2010-10-24 15:01 812了解Hibernate中CRUD操作 了解get和load的 ... -
hibernate查询语言hql
2010-10-24 13:46 1089在hql中关键字不区分大 ... -
hibernate基本配置
2010-10-24 13:22 7961.开发环境Window 2.开发工具MyEclispe5. ... -
Hibernate 各种数据库的配置
2010-09-13 10:33 9191. MySql连接配置 MySql数据库的hiber ... -
hibernate学习
2009-07-21 13:54 902hibernate多对多的解决Hibernate多对多的例子 ...
相关推荐
Hibernate继承映射+C3P0代码
hibernate继承关系映射和java反射机制的运用
博文链接:https://shaqiang32.iteye.com/blog/201319
Hibernate继承关系映射.pdf 简单明了
Hibernate案例与专题-继承映射策略。详细介绍了Hibernate继承映射策略。
讲解了Hibernate的关联映射包括一对一,一对多,多对多
NULL 博文链接:https://cjnetwork.iteye.com/blog/974686
针对hibernate的继承映射部分做了几个测试的例子,更加直观的阐述了继承映射的几种方式以及对应的表结构方式,文件被分割成3部分 http://download.csdn.net/source/259075 http://download.csdn.net/source/259072 ...
Hibernate的继承映射 --每个继承层次一张表 -- 每个具体类一张表 -- 每个类一张表
简单的使用了hibernate的继承,用idea搭建,适合刚刚开始学习hibernate的初学者参考
博文链接:https://shaqiang32.iteye.com/blog/201321
NULL 博文链接:https://quicker.iteye.com/blog/658432
对于继承关系类的映射。比如在论坛中文章(Ariticla)有主题类型(Topic),有回复类型(Reply)。其中Topic都id、title、context、postDate、type(类型:如普通、精华、置顶......),而Replay有id,title,context,...
NULL 博文链接:https://wintys.iteye.com/blog/426031
NULL 博文链接:https://cdxs2.iteye.com/blog/1934884