hibernate之继承关系
来源:互联网 发布:a家家具淘宝官网旗舰店 编辑:程序博客网 时间:2024/06/03 04:39
在hibernate中的继承方式有三种,
一、只需要一张父类表
<?xml version="1.0"?><!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <!-- discriminator-value属性:用于鉴别是哪个类的一个值,表示这个值就是这个类。如果不写,默认为类的全限定名。 --> <hibernate-mapping package="hibernate_d_extends"> <class name="Article" table="article" discriminator-value="Article"> <id name="id"> <generator class="native" /> </id> <discriminator column="class_" type="string"></discriminator> <span style="white-space:pre"></span><property name="title"/><property name="content" type="text" length="10000"/><property name="postTime" type="timestamp"/><!-- 子类:Reply --><subclass name="Reply" discriminator-value="Reply"><property name="floor"></property></subclass><!-- 子类:Topic --><subclass name="Topic" discriminator-value="Topic"><property name="type"></property></subclass> </class> </hibernate-mapping>
二、采用每个具体类对应一张表,抽象类不对应表
<?xml version="1.0"?><!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <!-- 采用每个具体类一张表的方式,抽象类不对应表。abstract默认为false,设为true表示本类不对应表(类可以不是abstract的),这时就会忽略table属性。 --> <hibernate-mapping package="hibernate_d_extends2"> <class name="Article" table="article2" abstract="true" > <id name="id"> <!-- 当使用每个具体类一张表的方式时,主键生成策略不能是identity。因为在整个继承结构中,主键值是不能重复的。 --> <generator class="hilo"> <param name="table">hi_value</param> <param name="column">next_value</param> <param name="max_lo">100</param> </generator> </id> <span style="white-space:pre"></span><property name="title"/><property name="content" type="text" length="10000"/><property name="postTime" type="timestamp"/><!-- 子类:Topic --><union-subclass name="Topic" table="topic2"><property name="type"></property></union-subclass><!-- 子类:Reply --><union-subclass name="Reply" table="reply2"><property name="floor"></property></union-subclass> </class> </hibernate-mapping>
三、 也是具体类对应一张表,但是抽象类也相对的有一张表
<?xml version="1.0"?><!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <!-- 采用每个具体类一张表的方式,抽象类也对应表。 --> <hibernate-mapping package="hibernate_d_extends3"> <class name="Article" table="article3" > <id name="id"> <generator class="native"> </generator> </id> <span style="white-space:pre"></span><property name="title"/><property name="content" type="text" length="10000"/><property name="postTime" type="timestamp"/><joined-subclass name="Topic" table="topic3"><key column="id"></key><property name="type"></property></joined-subclass><joined-subclass name="Reply" table="reply3"><key column="id"></key><property name="floor"></property></joined-subclass> </class> </hibernate-mapping>
通过这三种方式都可以对类进行继承,
0 0
- hibernate之继承关系
- hibernate之继承关系
- 精通Hibernate之映射继承关系一
- 精通Hibernate之映射继承关系二
- 精通Hibernate之映射继承关系三
- 精通Hibernate之映射继承关系五
- Hibernate annotations系列之继承关系
- 精通Hibernate之映射继承关系三
- 精通Hibernate之映射继承关系
- 精通Hibernate之映射继承关系三
- 精通Hibernate之映射继承关系五
- 精通Hibernate之映射继承关系六
- 精通Hibernate之映射继承关系八
- Hibernate关系映射之继承映射
- Hibernate关联关系映射之继承映射
- Hibernate学习之映射继承关系
- Hibernate的继承关系
- Hibernate的继承关系
- jQuery中jQuery.extend()和jQuery.fn.extend()的理解
- @synchronized 锁用法
- refresh的停车场
- 数据结构实验之队列一:排队买饭
- 【codeblock16.01】 的一些快捷用法
- hibernate之继承关系
- MyEclipse 集成 Maven,并创建webapp
- Screenshot Reader中“无法访问文件”该怎样解决
- 远程服务器键盘变成快捷键?
- 注意php的转义字符串
- Swift OC 内存管理
- git操作杂记
- ACM模板——DP求解最长子段 最大子矩阵
- jdbc数据库连接池