hibernate中的自关联

hibernate中的自关联
之前做过一个项目,里面有这样一个关系的存在——车间与班组,班组隶属于车间,一个车间包含一个或多个班组,当时设计时统一用Unit对象表示

public class Unit {
  
  //部门类

    private Integer unitId;
    private String unitName;
    private Unit unit;//上级部门
}

感觉没毛病,现在看来图样图森破……


自关联关键在实体的定义,这个实体既是上级部门,也是下级部门;上级部门就会包含下级部门,下级部门也会包含上级部门,从关系上可以知道,多个下级部门对应一个上级部门

实体类(Unit)

package com.hibernate.beans;

import java.util.HashSet;
import java.util.Set;

/**
 * 部门类
 * @author 浪丶荡
 *
 */
public class Unit {
   
   

    //域属性
    private Integer unitId;
    private String unitName;
    //关联属性
    private Unit leaderUnit;//上级部门
    private Set<Unit> childUnits;//下级部门
    public Unit() {
        childUnits = new HashSet<Unit>();
    }
    public Unit(String unitName) {
        this();
        this.unitName = unitName;
    }
    public Integer getUnitId() {
        return unitId;
    }
    public void setUnitId(Integer unitId) {
        this.unitId = unitId;
    }
    public String getUnitName() {
        return unitName;
    }
    public void setUnitName(String unitName) {
        this.unitName = unitName;
    }
    public Unit getLeaderUnit() {
        return leaderUnit;
    }
    public vo
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值