Hibernate 一张表细化操作及表之间继承关系的映射配置
2008-12-31 10:38
423 查看
Hibernate 一张表细化操作及表之间继承关系的映射配置
我们所做的是对一张表的内容把可以分类的字段提出来放到单独的类中是配置文件和对应类代码更清晰
public class Cgoods {
private Integer id; //公用的主键
private Catg catg; //所有分类的属性在该类中
public Catg getCatg() {
return catg;
}
public void setCatg(Catg catg) {
this.catg = catg;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
}
<component name="catg" class="com.vo.Catg">
<property name="cname" column="cname" type="string">
</property>
......
</component>
冗余字段的映射文件
<discriminator column="冗余字段名" type="string"></discriminator> //该字段不出现在映射类
中并放在主键之后
<subclass name="继承类的类名" discriminator-value="指定默认值"> //该标签表示本表的继承关
系
<property name="继承类的属性" column="继承类的字段" type="继承类的类型"></property>
</subclass>
<joined-subclass name="继承类的类名" table="表名"> //该标签表示另一张表的继承关系
<key column="该字段和父表主键字段一致"></key>
<property name="继承类的属性" column="继承类的字段" type="继承类的类型"></property>
</joined-subclass>
附:
<class name="com.vo1.JoinPkey" table="join_pkey">
<composite-id name="id" class="com.vo1.JoinPkeyId">
<key-property name="sid" type="java.lang.Integer">
<column name="sid" />
</key-property>
<key-property name="bid" type="java.lang.Integer">
<column name="bid" />
</key-property>
</composite-id>
<property name="name" type="java.lang.String">
<column name="name" length="20" />
</property>
</class>
我们所做的是对一张表的内容把可以分类的字段提出来放到单独的类中是配置文件和对应类代码更清晰
public class Cgoods {
private Integer id; //公用的主键
private Catg catg; //所有分类的属性在该类中
public Catg getCatg() {
return catg;
}
public void setCatg(Catg catg) {
this.catg = catg;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
}
<component name="catg" class="com.vo.Catg">
<property name="cname" column="cname" type="string">
</property>
......
</component>
冗余字段的映射文件
<discriminator column="冗余字段名" type="string"></discriminator> //该字段不出现在映射类
中并放在主键之后
<subclass name="继承类的类名" discriminator-value="指定默认值"> //该标签表示本表的继承关
系
<property name="继承类的属性" column="继承类的字段" type="继承类的类型"></property>
</subclass>
<joined-subclass name="继承类的类名" table="表名"> //该标签表示另一张表的继承关系
<key column="该字段和父表主键字段一致"></key>
<property name="继承类的属性" column="继承类的字段" type="继承类的类型"></property>
</joined-subclass>
附:
<class name="com.vo1.JoinPkey" table="join_pkey">
<composite-id name="id" class="com.vo1.JoinPkeyId">
<key-property name="sid" type="java.lang.Integer">
<column name="sid" />
</key-property>
<key-property name="bid" type="java.lang.Integer">
<column name="bid" />
</key-property>
</composite-id>
<property name="name" type="java.lang.String">
<column name="name" length="20" />
</property>
</class>
相关文章推荐
- 关于hibernate映射继承关系时独立的子类配置文件的问题
- hibernate继承关系映射方法(一)--共享一张表
- Hibernate学习-14:实体之间的关系及其配置,级联操作
- Hibernate映射的基本操作 Java类型、Hibernate映射类型以及SQL类型之间的对应关系
- hibernate继承关系映射关系方法(二)--每个子类一张表
- Hibernate基础------》关系映射---》继承映射-》所有类映射到一张表中(类融合映射或者鉴别器映射)
- SSH:Hibernate框架(Hibernate继承关系映射及配置)
- SSH——Hibernate继承关系映射详解(配置+实例+总结)
- Hibernate 继承映射关系 —— 类继承树映射成一张表
- hibernate继承映射关系 —— 每个具体类映射成一张表
- hibernate继承关系映射方法(三)--每个具体类一张表TPC
- Hibernate基于注解方式配置来实现实体和数据库之间存在某种映射关系
- Hibernate基础------》映射关系---》继承映射-》join_subclass映射(每个类对应一张表)
- hibernate映射继承关系(一):一张表对应一整棵类继承树
- Hibernate学习---第八节:继承关系的映射配置
- [翻译] hibernate映射继承关系(一):一张表对应一整棵类继承树
- hibernate:继承关系_整个继承树映射到一张表
- hibernate关系映射——继承映射
- 继承关系 整个继承数映射到一张表
- Hibernate关系映射---单向一对多curd(增删查改)操作实例