hibernate常用映射配置总结
来源:互联网 发布:上市公司研发支出数据 编辑:程序博客网 时间:2024/05/22 21:40
集合映射
<set name="" table="">
<key column=""></key>
<element column="" type=""></element>
</set>
<list name="" table="">
<key column=""></key>
<index column=""></index>
<element column="" type=""></element>
</list>
<map name="" table="">
<key column=""></key>
<map-key column="" type=""></map-key>
<element column="" type=""></element>
</map>
复合主键映射
tips:复合主键一定要实现Serializable接口
<composite-id name="" class="复合主键所属类类">
<key-property name="" column=""></key-property>
</composite-id>
一对多
<set name="" >
<key column=""></key>
<one-to-many class=""/>
</set>
多对一
<many-to-one name="" column="" class=""></many-to-one>
多对多(中间表实现)
<set name="集合属性的名字" table="中间表的名字">
<key column="中间表引用的字段名(外键,对应当前配置表的主键)"></key>
<many-to-many column="中间表外键对应的字段" class="集合属性的类型s"></many-to-many>
</set>
一对一
(1)通过外键映射
无外建方
<one-to-one name="" class="" property-ref=""></one-to-one>
有外键方
<many-to-one name="" column="" class="" unique="true 多对一并且外键为唯一值实现一对一" ></many-to-one>
(2)通过主键映射
无主键方
<one-to-one name="" class=""></one-to-one>
有主键方
<id name="">
<generator class="foreign">
<param name="property">和下面的name要一样</param>
</generator>
</id>
<one-to-one name="" class="" constrained="true 添加外键约束"></one-to-one>
组合映射(类中包含类,映射到同一张表)
<component name="" class="">
<property name="" type=""></property>
</component>
继承映射
(1)简单的继承映射
每个子类都要有配置文件,然后通过<property></property>设定所有字段
(2)复杂的继承映射
(2.1)映射为一张表
<!-- 鉴别器 -->
<discriminator column="" type=""></discriminator>
<subclass name="" class="" discriminator-value="">
<property name="" type=""></property>
</subclass>
(2.2)父类,子类都映射一张表
<joined-subclass name="" table="">
<key column=""/>
<property name="" type=""></property>
<joined-subclass>
(2.2)每个子类都映射一张表
<id name="">
<generator class="不能为自增长主键生成器"></generator>
</id>
<union-subclass name="" table="">
<property name="" type=""></property>
</union-subclass>
<set name="" table="">
<key column=""></key>
<element column="" type=""></element>
</set>
<list name="" table="">
<key column=""></key>
<index column=""></index>
<element column="" type=""></element>
</list>
<map name="" table="">
<key column=""></key>
<map-key column="" type=""></map-key>
<element column="" type=""></element>
</map>
复合主键映射
tips:复合主键一定要实现Serializable接口
<composite-id name="" class="复合主键所属类类">
<key-property name="" column=""></key-property>
</composite-id>
一对多
<set name="" >
<key column=""></key>
<one-to-many class=""/>
</set>
多对一
<many-to-one name="" column="" class=""></many-to-one>
多对多(中间表实现)
<set name="集合属性的名字" table="中间表的名字">
<key column="中间表引用的字段名(外键,对应当前配置表的主键)"></key>
<many-to-many column="中间表外键对应的字段" class="集合属性的类型s"></many-to-many>
</set>
一对一
(1)通过外键映射
无外建方
<one-to-one name="" class="" property-ref=""></one-to-one>
有外键方
<many-to-one name="" column="" class="" unique="true 多对一并且外键为唯一值实现一对一" ></many-to-one>
(2)通过主键映射
无主键方
<one-to-one name="" class=""></one-to-one>
有主键方
<id name="">
<generator class="foreign">
<param name="property">和下面的name要一样</param>
</generator>
</id>
<one-to-one name="" class="" constrained="true 添加外键约束"></one-to-one>
组合映射(类中包含类,映射到同一张表)
<component name="" class="">
<property name="" type=""></property>
</component>
继承映射
(1)简单的继承映射
每个子类都要有配置文件,然后通过<property></property>设定所有字段
(2)复杂的继承映射
(2.1)映射为一张表
<!-- 鉴别器 -->
<discriminator column="" type=""></discriminator>
<subclass name="" class="" discriminator-value="">
<property name="" type=""></property>
</subclass>
(2.2)父类,子类都映射一张表
<joined-subclass name="" table="">
<key column=""/>
<property name="" type=""></property>
<joined-subclass>
(2.2)每个子类都映射一张表
<id name="">
<generator class="不能为自增长主键生成器"></generator>
</id>
<union-subclass name="" table="">
<property name="" type=""></property>
</union-subclass>
0 0
- hibernate常用映射配置总结
- hibernate 映射配置总结
- hibernate常用映射
- Hibernate框架常用映射
- Hibernate.cfg.xml常用配置总结
- hibernate总结---继承映射
- Hibernate映射总结
- Hibernate 映射总结!
- Hibernate 关联映射总结
- hibernate继承映射总结!
- Hibernate关联映射总结
- Hibernate关系映射总结
- Hibernate映射类型总结
- Hibernate映射总结
- Hibernate映射文件总结
- hibernate映射关系总结
- hibernate关系映射总结
- Hibernate关系映射总结
- oracle数据库概念
- 概述Hadoop和Spark
- Ubuntu软件仓库管理
- Qt学习笔记-----事件
- HDU-2476 String painter(区间dp)
- hibernate常用映射配置总结
- 代理模式
- CCF201409-3 字符串匹配(解法二)(100分)
- php正则替换
- 如何用Python进行大数据挖掘和分析
- React的基础入门
- Eclipse4.6(neno)配置Tomcat插件的两种方式
- reorder list
- CodeForces 1A Theatre Square 【数学】【精度】