Hibernate 三级关联笔记

Hibernate 三级关联笔记
实体类关系如下:
                                                          →QingAoPlaceCdmaSector
QingAoCenterInfo→QingAoPlaceInfo→QingAoPlaceLteSector               删除Center时要删除Center下所有的Place以及网元
                                                          → QingAoAp

实体类代码:
QingAoCenterInfo.java
package com.yuqiaotech.nttelcom.model;

import java.util.Date;
import java.util.List;

import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.OneToMany;
import javax.persistence.Table;

/**
* 青奥重点场所信息表。
*
*/
@Entity(name="QING_AO_CENTER_INFO")
@Table(name="QING_AO_CENTER_INFO")
public class QingAoCenterInfo {
private Long id;
private String centerName; //重点场所名称
private Long alarmNum; //告警数
private String note; //备注
private String iconName; //图标名称
private String cityName; //所在城市
private String type; //重点场所、活动保障
private Date createTime;
private List<QingAoPlaceInfo> qingAoPlaceInfo; //场所拥有的场馆
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
/**
* @searchItem
* displayType="text"
*
* 重点场所名称
* @return
*/
public String getCenterName() {
return centerName;
}
public void setCenterName(String centerName) {
this.centerName = centerName;
}
/**
* 告警数
* @return
*/
public Long getAlarmNum() {
return alarmNum;
}
public void setAlarmNum(Long alarmNum) {
this.alarmNum = alarmNum;
}
/**
* 备注
* @return
*/
public String getNote() {
return note;
}
public void setNote(String note) {
this.note = note;
}
/**
* 图标名称
* @return
*/
public String getIconName() {
return iconName;
}
public void setIconName(String iconName) {
this.iconName = iconName;
}

public String getCityName() {
return cityName;
}

public void setCityName(String cityName) {
this.cityName = cityName;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
@OneToMany(mappedBy="qingAoCenterInfo",cascade= CascadeType.ALL)
public List<QingAoPlaceInfo> getQingAoPlaceInfo() {
return qingAoPlaceInfo;
}
public void setQingAoPlaceInfo(List<QingAoPlaceInfo> qingAoPlaceInfo) {
this.qingAoPlaceInfo = qingAoPlaceInfo;
}
}


QingAoPlaceInfo.java
package com.yuqiaotech.nttelcom.model;

import java.util.Date;
import java.util.List;

import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;

/**
* 场馆信息。
*
*/
@Entity(name="QING_AO_PLACE_INFO")
@Table(name="QING_AO_PLACE_INFO")
public class QingAoPlaceInfo {
private Long id;
private QingAoCenterInfo qingAoCenterInfo;// 重点场所id
private String placeName;// 场馆名称
private String note;// 备注
private String openStat;// 开通状态
private Long displayOrder;
private String cityName;
private Date createTime;
private List<QingAoPlaceCdmaSector> qingAoPlaceCdmaSector;//拥有的cdma
private List<QingAoPlaceLteSector> qingAoPlaceLteSector;//拥有的Lte
private List<QingAoAp> qingAoAp; //拥有的Ap


@Id
@GeneratedValue(strategy = GenerationType.AUTO)
public Long getId() {
return id;
}

public void setId(Long id) {
this.id = id;
}

@ManyToOne(fetch=FetchType.LAZY )
@JoinColumn(name="f_center_id")
public QingAoCenterInfo getQingAoCenterInfo() {
return qingAoCenterInfo;
}

public void setQingAoCenterInfo(QingAoCenterInfo qingAoCenterInfo) {
this.qingAoCenterInfo = qingAoCenterInfo;
}
/**
* @searchItem
* displayType="text"
* 场所名称
* @return
*/
public String getPlaceName() {
return placeName;
}
public void setPlaceName(String placeName) {
this.placeName = placeName;
}

public String getNote() {
return note;
}

public void setNote(String note) {
this.note = note;
}

public String getOpenStat() {
return openStat;
}

public void setOpenStat(String openStat) {
this.openStat = openStat;
}

public Long getDisplayOrder() {
return displayOrder;
}

public void setDisplayOrder(Long displayOrder) {
this.displayOrder = displayOrder;
}

public String getCityName() {
return cityName;
}

public void setCityName(String cityName) {
this.cityName = cityName;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
@OneToMany(mappedBy="qingAoPlaceInfo",cascade= CascadeType.ALL)
public List<QingAoPlaceCdmaSector> getQingAoPlaceCdmaSector() {
return qingAoPlaceCdmaSector;
}

public void setQingAoPlaceCdmaSector(
List<QingAoPlaceCdmaSector> qingAoPlaceCdmaSector) {
this.qingAoPlaceCdmaSector = qingAoPlaceCdmaSector;
}
@OneToMany(mappedBy="qingAoPlaceInfo",cascade= CascadeType.ALL)
public List<QingAoPlaceLteSector> getQingAoPlaceLteSector() {
return qingAoPlaceLteSector;
}

public void setQingAoPlaceLteSector(
List<QingAoPlaceLteSector> qingAoPlaceLteSector) {
this.qingAoPlaceLteSector = qingAoPlaceLteSector;
}
@OneToMany(mappedBy="qingAoPlaceInfo",cascade= CascadeType.ALL)
public List<QingAoAp> getQingAoAp() {
return qingAoAp;
}

public void setQingAoAp(List<QingAoAp> qingAoAp) {
this.qingAoAp = qingAoAp;
}
}

QingAoPlaceCdmaSector.java
package com.yuqiaotech.nttelcom.model;

import java.util.Date;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

/**
* 青奥场馆CDMA扇区信息
*
* @author liuhao
*
*/
@Entity(name = "QING_AO_PLACE_CDMA_SECTOR")
@Table(name = "QING_AO_PLACE_CDMA_SECTOR")
public class QingAoPlaceCdmaSector {

private Long id;
private QingAoPlaceInfo qingAoPlaceInfo; // 场馆id
private Long sectorId;// 扇区id
private String cityName;// 地市
private Long bsc;// bsc编号
private Long btsId;// 基站编号
private Long accessSector;// 扇区编号
private String sectorName;// 扇区名称
private String sectorNameExcel;// 扇区excel名称
private String openStat;// 开通状态
private Long alarmNum;// 告警数
private Date updateTime;// 最后更新时间
private Long pmAlarmNum;// 性能告警数量
private Long positionLeft;
private Long positionTop;
private Long displayOrder;
private String cellid;// 1x小区号
private String cellidDo;// do小区号
private Date createTime;
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
public Long getId() {
return id;
}

public void setId(Long id) {
this.id = id;
}

@ManyToOne(fetch=FetchType.LAZY)
@JoinColumn(name="F_PLACE_ID")
public QingAoPlaceInfo getQingAoPlaceInfo() {
return qingAoPlaceInfo;
}

public void setQingAoPlaceInfo(QingAoPlaceInfo qingAoPlaceInfo) {
this.qingAoPlaceInfo = qingAoPlaceInfo;
}

/**
* @searchItem
* displayType="text"
* @return
*/
public Long getSectorId() {
return sectorId;
}

public void setSectorId(Long sectorId) {
this.sectorId = sectorId;
}

public String getCityName() {
return cityName;
}

public void setCityName(String cityName) {
this.cityName = cityName;
}

@Column(name="BSC")
public Long getBsc() {
return bsc;
}

public void setBsc(Long bsc) {
this.bsc = bsc;
}

@Column(name="BTS_ID")
public Long getBtsId() {
return btsId;
}

public void setBtsId(Long btsId) {
this.btsId = btsId;
}

@Column(name="ACCESS_SECTOR")
public Long getAccessSector() {
return accessSector;
}

public void setAccessSector(Long accessSector) {
this.accessSector = accessSector;
}

public String getSectorName() {
return sectorName;
}

public void setSectorName(String sectorName) {
this.sectorName = sectorName;
}

public String getSectorNameExcel() {
return sectorNameExcel;
}

public void setSectorNameExcel(String sectorNameExcel) {
this.sectorNameExcel = sectorNameExcel;
}

public String getOpenStat() {
return openStat;
}

public void setOpenStat(String openStat) {
this.openStat = openStat;
}

public Long getAlarmNum() {
return alarmNum;
}

public void setAlarmNum(Long alarmNum) {
this.alarmNum = alarmNum;
}

public Date getUpdateTime() {
return updateTime;
}

public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}

public Long getPmAlarmNum() {
return pmAlarmNum;
}

public void setPmAlarmNum(Long pmAlarmNum) {
this.pmAlarmNum = pmAlarmNum;
}

public Long getPositionLeft() {
return positionLeft;
}

public void setPositionLeft(Long positionLeft) {
this.positionLeft = positionLeft;
}

public Long getPositionTop() {
return positionTop;
}

public void setPositionTop(Long positionTop) {
this.positionTop = positionTop;
}

public Long getDisplayOrder() {
return displayOrder;
}

public void setDisplayOrder(Long displayOrder) {
this.displayOrder = displayOrder;
}

public String getCellid() {
return cellid;
}

public void setCellid(String cellid) {
this.cellid = cellid;
}

public String getCellidDo() {
return cellidDo;
}

public void setCellidDo(String cellidDo) {
this.cellidDo = cellidDo;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
}

QingAoPlaceLteSector.java
package com.yuqiaotech.nttelcom.model;

import java.util.Date;

import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
/**
* 青奥场馆Lte扇区信息。
* @author jayce
*
*/
@Entity(name="QING_AO_PLACE_LTE_SECTOR")
@Table(name="QING_AO_PLACE_LTE_SECTOR")
public class QingAoPlaceLteSector {
private Long id;
private QingAoPlaceInfo qingAoPlaceInfo; //场馆具体place
private Long sectorId; //扇区ID
private String cityName; //地市
private Long siteId; //基站编号
private Long cellId; //小区标识
private Long localCellId; //本地校区标识
private String sectorName; //扇区名称
private String sectorNameExcel; //扇区excel名称
private String openStat; //开通状态
private Long alarmNum; //告警数
private Date updateTime; //最后更新时间
private Long positionLeft;
private Long positionTop;
private Date createTime;
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
@ManyToOne(fetch=FetchType.LAZY)
@JoinColumn(name="f_place_id")
public QingAoPlaceInfo getQingAoPlaceInfo() {
return qingAoPlaceInfo;
}
public void setQingAoPlaceInfo(QingAoPlaceInfo qingAoPlaceInfo) {
this.qingAoPlaceInfo = qingAoPlaceInfo;
}
/**
* @searchItem
* displayType="text"
* 扇区ID
* @return
*/
public Long getSectorId() {
return sectorId;
}
public void setSectorId(Long sectorId) {
this.sectorId = sectorId;
}

/**
* @searchItem
* displayType="text"
* 城市名称
* @return
*/
public String getCityName() {
return cityName;
}
public void setCityName(String cityName) {
this.cityName = cityName;
}

/**
* @searchItem
* displayType="text"
* 基站编号
* @return
*/
public Long getSiteId() {
return siteId;
}
public void setSiteId(Long siteId) {
this.siteId = siteId;
}

/**
* @searchItem
* displayType="text"
* 校区编号
* @return
*/
public Long getCellId() {
return cellId;
}
public void setCellId(Long cellId) {
this.cellId = cellId;
}

/**
* @searchItem
* displayType="text"
* 本地小区编号
* @return
*/
public Long getLocalCellId() {
return localCellId;
}
public void setLocalCellId(Long localCellId) {
this.localCellId = localCellId;
}

/**
* @searchItem
* displayType="text"
* 扇区名称
* @return
*/
public String getSectorName() {
return sectorName;
}
public void setSectorName(String sectorName) {
this.sectorName = sectorName;
}

/**
* @searchItem
* displayType="text"
* 扇区excel名称
* @return
*/
public String getSectorNameExcel() {
return sectorNameExcel;
}
public void setSectorNameExcel(String sectorNameExcel) {
this.sectorNameExcel = sectorNameExcel;
}
public String getOpenStat() {
return openStat;
}
public void setOpenStat(String openStat) {
this.openStat = openStat;
}
public Long getAlarmNum() {
return alarmNum;
}
public void setAlarmNum(Long alarmNum) {
this.alarmNum = alarmNum;
}

/**
* @Editor
* type="date"
* @return
*/
public Date getUpdateTime() {
return updateTime;
}
public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}
public Long getPositionLeft() {
return positionLeft;
}
public void setPositionLeft(Long positionLeft) {
this.positionLeft = positionLeft;
}
public Long getPositionTop() {
return positionTop;
}
public void setPositionTop(Long positionTop) {
this.positionTop = positionTop;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}

}

QingAoAp.java
package com.yuqiaotech.nttelcom.model;

import java.util.Date;

import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

/**
* 城市热点WiFi
* @author liuhao
*
*/
@Entity(name="QING_AO_AP")
@Table(name="QING_AO_AP")
public class QingAoAp {
private Long id;
private String apName;
private String position;
private String ip;
private Long deviceId;
private String apNameExcel;
private QingAoPlaceInfo qingAoPlaceInfo;
private String cityName;
private Date createTime;

@Id
@GeneratedValue(strategy=GenerationType.AUTO)
public Long getId() {
return id;
}

public void setId(Long id) {
this.id = id;
}

/**
* @searchItem
* displayType="text"
* @return
*/
public String getApName() {
return apName;
}

public void setApName(String apName) {
this.apName = apName;
}

/**
* @searchItem
* displayType="text"
* @return
*/
public String getPosition() {
return position;
}

public void setPosition(String position) {
this.position = position;
}

public String getIp() {
return ip;
}

public void setIp(String ip) {
this.ip = ip;
}

public Long getDeviceId() {
return deviceId;
}

public void setDeviceId(Long deviceId) {
this.deviceId = deviceId;
}

public String getApNameExcel() {
return apNameExcel;
}

public void setApNameExcel(String apNameExcel) {
this.apNameExcel = apNameExcel;
}

@ManyToOne(fetch=FetchType.LAZY)
@JoinColumn(name="F_PLACE_ID")
public QingAoPlaceInfo getQingAoPlaceInfo() {
return qingAoPlaceInfo;
}

public void setQingAoPlaceInfo(QingAoPlaceInfo qingAoPlaceInfo) {
this.qingAoPlaceInfo = qingAoPlaceInfo;
}

public String getCityName() {
return cityName;
}

public void setCityName(String cityName) {
this.cityName = cityName;
}
public Date getCreateTime() {
return createTime;
}

public void setCreateTime(Date createTime) {
this.createTime = createTime;
}

}

猜你喜欢

转载自jaycehong.iteye.com/blog/2094444