您的位置:首页 > 编程语言 > Java开发

SpringMVC教程(二)hibernate关联关系注解

2016-06-13 15:57 513 查看
一对多、多对一、一对一的注解实现

casecade={CasecadeType.REFRESH}的含义是只是查询级联,它还有其他3个类型:

CascadeType.MERGE级联更新

CascadeType.PERSIST级联保存

CascadeType.REMOVE级联删除

optional=false定义关联类不一定要存在

@JoinColumn 关联的对象的字段

@ManyToOne多对一 @OneToMany一对多 @OneToOne一对一

需要注意的是一对一关联关系,hibernate会建立唯一约束,用错的话,后果很严重奥。

event对象

@Entity
@Table(name = "event")
public class EventEntity implements Serializable{
/**
*
*/
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "eventId", nullable = true)
private long eventId;               //事件id
private String eventNote;           //事件内容
private String eventTitle;          //事件标题
private String createTime;          //创建时间
@ManyToOne(cascade = {CascadeType.REFRESH}, optional = false)
@JoinColumn(name="userId")
private UserEntity user;
@OneToOne(optional = false, cascade = CascadeType.REFRESH)
@JoinColumn(name = "eventTitleImage")
private EventImageEntity eventTitleImage;  //事件封面照片
private String eventAddress;       //事件地址
private String eventType;          //事件类型
private String lon;                //经度
private String lat;                //纬度
private String eventstate;         //事件状态
@OneToMany(cascade = {CascadeType.REFRESH})
@JoinColumn(name = "eventId")
private List<EventImageEntity> eventImageList;
public long getEventId() {
return eventId;
}

public void setEventId(long eventId) {
this.eventId = eventId;
}

public String getEventNote() {
return eventNote;
}

public void setEventNote(String eventNote) {
this.eventNote = eventNote;
}

public String getEventTitle() {
return eventTitle;
}

public void setEventTitle(String eventTitle) {
this.eventTitle = eventTitle;
}

public String getCreateTime() {
return createTime;
}

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

public UserEntity getUser() {
return user;
}

public void setUser(UserEntity user) {
this.user = user;
}

public EventImageEntity getEventTitleImage() {
return eventTitleImage;
}

public void setEventTitleImage(EventImageEntity eventTitleImage) {
this.eventTitleImage = eventTitleImage;
}

public String getEventAddress() {
return eventAddress;
}

public void setEventAddress(String eventAddress) {
this.eventAddress = eventAddress;
}

public String getEventType() {
return eventType;
}

public void setEventType(String eventType) {
this.eventType = eventType;
}

public String getLon() {
return lon;
}

public void setLon(String lon) {
this.lon = lon;
}

public String getLat() {
return lat;
}

public void setLat(String lat) {
this.lat = lat;
}

public String getEventstate() {
return eventstate;
}

public void setEventstate(String eventstate) {
this.eventstate = eventstate;
}

public List<EventImageEntity> getEventImageList() {
return eventImageList;
}

public void setEventImageList(List<EventImageEntity> eventImageList) {
this.eventImageList = eventImageList;
}

}
user对象

@Entity
@Table(name = "user")
public class UserEntity implements Serializable {
/**
*
*/
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "userId")
private long userId;
private String username;   //用户名称
private String phone;      //用户电话
private String password;   //密码
@OneToOne(optional = false, cascade = CascadeType.REFRESH)
@JoinColumn(name = "userimage")
private ImageEntity userImage;  //用户头像
private String isRole;          //是否有权限
private String createTime;      //创建时间
private String sign;            //签名
private String sex;             //性别
private String age;             //年纪
private String birthday;        //生日
private String numberId;        //用户ID标示
private String emotional;		//情感状态
private String updateTime;      //修改时间
private String userstate;       //用户状态(1正常 2禁用 3删除)
@ManyToOne(cascade={CascadeType.REFRESH},optional = false)
@JoinColumn(name="userLevel")
private Exp exp;                //等级
private long exping;            //当前经验值
public long getUserId() {
return userId;
}

public void setUserId(long userId) {
this.userId = userId;
}

public String getUsername() {
return username;
}

public void setUsername(String username) {
this.username = username;
}

public String getPhone() {
return phone;
}

public void setPhone(String phone) {
this.phone = phone;
}

public String getPassword() {
return password;
}

public void setPassword(String password) {
this.password = password;
}

public ImageEntity getUserImage() {
return userImage;
}

public void setUserImage(ImageEntity userImage) {
this.userImage = userImage;
}

public String getIsRole() {
return isRole;
}

public void setIsRole(String isRole) {
this.isRole = isRole;
}

public String getCreateTime() {
return createTime;
}

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

public String getSign() {
return sign;
}

public void setSign(String sign) {
this.sign = sign;
}

public String getSex() {
return sex;
}

public void setSex(String sex) {
this.sex = sex;
}

public String getAge() {
return age;
}

public void setAge(String age) {
this.age = age;
}

public String getBirthday() {
return birthday;
}

public void setBirthday(String birthday) {
this.birthday = birthday;
}

public String getNumberId() {
return numberId;
}

public void setNumberId(String numberId) {
this.numberId = numberId;
}

public String getEmotional() {
return emotional;
}

public void setEmotional(String emotional) {
this.emotional = emotional;
}

public String getUpdateTime() {
return updateTime;
}

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

public String getUserstate() {
return userstate;
}

public void setUserstate(String userstate) {
this.userstate = userstate;
}

public Exp getExp() {
return exp;
}

public void setExp(Exp exp) {
this.exp = exp;
}

public long getExping() {
return exping;
}

public void setExping(long exping) {
this.exping = exping;
}

}
image对象

@Entity
@Table(name = "image")
public class ImageEntity implements Serializable{
/**
*
*/
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "imageId")
private long imageId;
private String url;

public long getImageId() {
return imageId;
}

public void setImageId(long imageId) {
this.imageId = imageId;
}

public String getUrl() {
return url;
}

public void setUrl(String url) {
this.url = url;
}

}
exp对象

@Entity
@Table(name = "exp")
public class Exp {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "expId")
private long expId;
private long grade;     //等级
private long expnumber; //经验值
private String expname; //显示名称
public long getExtId() {
return expId;
}
public void setExtId(long expId) {
this.expId = expId;
}
public long getGrade() {
return grade;
}
public void setGrade(long grade) {
this.grade = grade;
}
public long getExpnumber() {
return expnumber;
}
public void setExpnumber(long expnumber) {
this.expnumber = expnumber;
}
public String getExpname() {
return expname;
}
public void setExpname(String expname) {
this.expname = expname;
}

}
eventImage对象

@Entity
@Table(name = "eventimage")
public class EventImageEntity implements Serializable{
/**
*
*/
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "eventImageId")
private long eventImageId;
private long eventId;
@OneToOne(optional = false, cascade = CascadeType.REFRESH)
@JoinColumn(name = "imageId")
private ImageEntity image;
public long getEventImageId() {
return eventImageId;
}
public void setEventImageId(long eventImageId) {
this.eventImageId = eventImageId;
}
public long getEventId() {
return eventId;
}
public void setEventId(long eventId) {
this.eventId = eventId;
}
public ImageEntity getImage() {
return image;
}
public void setImage(ImageEntity image) {
this.image = image;
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: