浏览 3890 次
该帖已经被评为新手帖
|
|
---|---|
作者 | 正文 |
发表时间:2007-11-29
最后修改:2011-01-08
此种模型最经典的为user-->group,即站在user的角度上看,是由多个user对象属于一个group对象。反过来的话,则是一个group对应多个user,那是一对多关系。此种映射一旦建立,能在得到user对象的时候通过对象之间的关系得到group的属性。 类: User: private int id; private String name; private Group group; Group: private int id; private String name; 主要映射文件: <class name="com.vle.domain.User" table="t_user"> <id name="id"> <generator class="native"/> </id> <property name="name"/> <many-to-one name="group" column="groupid"/> </class> 得到属性值: User u=(User) session.load(User.class, 1); System.out.print(u.getName()+"-->"+u.getGroup().getName()); 2.one2one 主键关联 单向映射 Person-->IdCard 一个人对应一个身份证,"人"引用了"身份证"的主键作为外键,同时也作为"人"这张表的主键。 Person: private int id; private String name; private IdCard idCard; IdCard: private int id; private String cardNo; 主要映射文件: <class name="com.vle.domain.Person" table="t_person"> <id name="id"> <!-- 通过foreign得到id生成策略,foreign会得到关联对象的标示 --> <generator class="foreign"> <!-- property指的是建立关系的关联对象,即Person中引用IdCard的idCard --> <param name="property">idCard</param> </generator> </id> <property name="name"/> <!-- 使用one-to-one标签进行描述,不会改变表结构,让hibernate加载关联对象,默认关联对象的主键作为此类的主键 使用 constrained生成外键约束 name:指加载对象时,通过Person指定的主键(也就是idCard)把IdCard的关联加上去 --> <one-to-one name="idCard" constrained="true"/> </class> 3.one2one 主键关联 双向映射 需要在IdCard对象中加入对Person的引用 IdCard: private int id; private String cardNo; private Person person; 并且需要在IdCard.hbm.xml中加入对引用的描述: <class name="com.vle.domain.IdCard" table="t_idcard"> <id name="id"> <generator class="native"/> </id> <property name="cardNo"/> <one-to-one name="person"/> </class> 4 one2one 唯一外键关联 单向关联 在person中持有idcard的引用: private IdCard idCard; Person映射文件: <class name="com.vle.domain.Person" table="t_person"> <id name="id"> <generator class="native"/> </id> <property name="name"/> <many-to-one name="idCard" unique="true"/> </class> 一对一唯一外键关联可以看做多对一的一种特例,只需要在many to one标签中将unique的属性设置为true即可。 5 one2one 唯一外键关联 双向关联 需要在IdCard中持有对Person的引用 private Person person; IdCard映射文件: <one-to-one name="person" property-ref="idCard"/> 将person用一对一标签描述,并且引用了外键idCard。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2007-12-02
这个和数据结构和算法没有关系吧
|
|
返回顶楼 | |
发表时间:2007-12-02
呵呵
<joe@smith.com> 和 "Joe Smith" <joe@smith.com> 都是合法的邮件地址 |
|
返回顶楼 | |
发表时间:2007-12-03
,你这是第几代计算机的数据结构啊?
|
|
返回顶楼 | |
发表时间:2007-12-04
严格上说,正则表达式也是属于数据结构的吧
so,楼上,不是第几代 |
|
返回顶楼 | |
发表时间:2007-12-06
什么数据结构呀,楼主是不是脑袋有问题,没系统学习过!
|
|
返回顶楼 | |