码迷,mamicode.com
首页 > Web开发 > 详细

hibernate单向一对多级联操作

时间:2016-02-18 19:25:33      阅读:181      评论:0      收藏:0      [点我收藏+]

标签:

主类  User     单方

从类  UserIp  多方要求结果:操作USER类,自动添加USERIP并维护关联关系

 

为了节省篇幅,忽略了get/set方法 请自行添加

User类代码:

public class User {

    /**用户的ID*/
    private long id;

 /**登录用户名*/
    private String username;
    
    /**登录密码*/
    private String password;

 /**IP集合*/
    private Set<UserIp> userIps=new HashSet<UserIp>();

 /**--------get/set----------*/

}

 

 

 

 

 

 

 

 

 

 

UserIp类:

public class UserIp {
    
    /**数据库ID*/
    private long id;
    
    /**用户ID*/
    private long userId;
    
    /**IP地址*/
    private String ip;

  /**--------get/set----------*/

}

 

 

 

 

 

 

 

 

 

User.hbm.xml:

<hibernate-mapping>
    <class name="com.entity.User" table="user" lazy="false" dynamic-insert="true">
    <id name="id" type="long" column="id">
         <generator class="native" />
    </id>
    <property name="username" column="username" />
    <property name="password" column="password" />
    <set name="userIps" table="user_has_ip" cascade="all-delete-orphan" lazy="false" inverse="false">
          <key column="user_id" /><!-- 确定关联的外键列 -->
          <one-to-many class="com.entity.UserIp" />
    </set>
    </class>
</hibernate-mapping>

 

 

 

 

 

 

 

 

 

UserIp.hbm.xml:

<hibernate-mapping>
    <class name="com.entity.UserIp" table="user_has_ip" lazy="false">
        <id name="id" type="long" column="id">
            <generator class="native" />
        </id>
       <property name="ip" column="ip"/>
    </class>
</hibernate-mapping>

 

 

 

 

 

其中关键就在于

 inverse="false"   控制反转,不增加这个参数的话,默认也为false,可以理解为true时,放弃级联关系维护权。

cascade="all-delete-orphan"

all-deleteorphan 的能力:
1. 当保存或更新父方对象时,级联保存或更新所有关联的子方对象,相当于 cascade 为 save-update
2. 当删除父方对象时,级联删除所有关联的子方对象,相当于 cascade 为 delete
3. 删除不再和父方对象关联的所有子方对

 

通过此设置,只需要操作User类,即可对UserIp类做增删改查关联关系维护等操作。。

 

 

 

hibernate单向一对多级联操作

标签:

原文地址:http://www.cnblogs.com/bfx-java/p/5198884.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!