ssh学习:hibernate关系映射(4)
2016-02-16 11:45
363 查看
hibernate中自身之间的一对多与多对一的关联关系
在一些实际的场景当中,通常会发现一个表之间也会存在一对多与多对一的关联关系。比如:同事之间,存在一个老伙计带着好几个新学员等等。
碰到这是不是也会觉得有点儿棘手啊?不过也不过如此而已。掌握了一般的双向的一对多关联关系也就不难了。可以吧通常的两个对象合成一个对象来处理。即双向的一对多关联关系中的多的那一端与一的那一端均写在同一个对象之中。
实例:以User为例:
Xxx.hbm.xml配置
在一些实际的场景当中,通常会发现一个表之间也会存在一对多与多对一的关联关系。比如:同事之间,存在一个老伙计带着好几个新学员等等。
碰到这是不是也会觉得有点儿棘手啊?不过也不过如此而已。掌握了一般的双向的一对多关联关系也就不难了。可以吧通常的两个对象合成一个对象来处理。即双向的一对多关联关系中的多的那一端与一的那一端均写在同一个对象之中。
实例:以User为例:
public class User { private int id; private String name; private Set<User> users; private User parent; //省去get/set方法 }
Xxx.hbm.xml配置
<hibernate-mapping> <class name="com.usc.geowind.lilin.bean.oneToMany.User" table="User"> <!-- type指明当前字段的类型 name对应实体中的属性名 --> <id type="integer" name="id"> <!-- 提供ID自增的策略 native会根据数据库自行判断 --> <generator class="native" /> </id> <property name="name" type="string" column="name"></property> <!-- 在自身的一对多多对一关联关系中配置,即集普通的一对多与多对一关联关系于一身 --> <!-- 一对多的关系配置 --> <set name="users"> <key column="parent_id"></key> <one-to-many class="com.usc.geowind.lilin.bean.oneToMany.User" /> </set> <!-- 多对一的关系关系配置 --> <many-to-one name="parent" column="parent_id"></many-to-one> </class> </hibernate-mapping>
相关文章推荐
- ssh学习:hibernate关系映射(5)
- ssh学习:hibernate中QBC查询
- ssh学习:hibernate中Native SQL查询
- 自定义泛型类获取子类的实体类类型
- ssh学习:hibernate中组件属性
- ssh学习:Spring注入方式
- ssh学习:Spring中Bean的生命周期
- 分布式版本控制工具 Git
- magento < 1.9 xss 漏洞修复说明
- 装饰模式
- Ubuntu 14.04进不了登录界面的修复
- 从2月14号开始,上传AppStore会碰到:Failed to locate or generate matching signing assets
- ssh学习:struts2的获取web资源模式
- ssh学习:struts2的拦截器实现
- ssh学习:struts2的动态调方法调用
- ssh学习:struts2的返回结果集input
- ssh学习:struts2的输入校验
- ssh学习:hibernate环境配置及开发步聚
- ssh学习:hibernate中 Session缓存及基本操作
- ssh学习:hibernate中 HQL基本 查询