08-07
04

hibernate one to one 关系的实现


先休息一下眼睛再看以下主题内容吧


  one to one 是一种数据库中的一对一的关系,比如在中国一个人只有一张身份证,人跟身份证就是一对一的关系,在hibernate中怎么实现这个做法了,这里数据库有两个 表,一个是user,一个是card,先为他们建一个对应的form类,在User类建一个 Card card对象,在Card类建一个User user对象,这样实现持久化中的你中有我,我中有你,hibernate当中肯定少不了的就是配置各个表的信息了。

以下是配置User表:

<hibernate-mapping>
        <class name="org.tinna.User" table="user">
            <id name="userid" type="java.lang.Integer">
                <column name="userid" />
                <generator class="native" />
            </id>
            <property name="username" type="java.lang.String">
                <column name="username" length="20" />
            </property>
            <one-to-one name="card" class="org.tinna.Card" cascade="all"></one-to-one>
        </class>
</hibernate-mapping>


配置Card表:

<hibernate-mapping>
        <class name="org.tinna.Card" table="card">
            <id name="cardid" type="java.lang.Integer">
                <column name="cardid" />
                <generator class="foreign" >
                 <param name="property">user</param>
                </generator>
            </id>
            <property name="cardnum" type="java.lang.Integer">
                <column name="cardnum" />
            </property>
            <one-to-one name="user" class="org.tinna.User"></one-to-one>
        </class>
</hibernate-mapping>


这样user和card就实现约束了,现在举例说明应用:
     User user=new User();
      user.setUsername("zhangsan1");
      Card card=new Card();
      user.setCard(card);
      card.setCardnum(new Integer(9));
      card.setUser(user);
      UserDAO userdao=new UserDAO();//只要这样就可以在user表和card表增加数据了
      userdao.save(user);


今天就说到这里,可能说的不是很清楚!


文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags: one-to-one 一对一
相关日志:
评论: 0 | 引用: 0 | 查看次数: 980
发表评论
昵 称:
密 码: 游客发言不需要密码.
内 容:
验证码: 验证码
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.
字数限制 1000 字 | UBB代码 开启 | [img]标签 关闭