您的位置:首页 > 其它

hibernate注解方式产生表映射

2016-12-27 00:00 357 查看
package com.hkd.mface.model;

import java.io.Serializable;
import java.util.HashSet;
import java.util.Set;

import javax.persistence.Column;
import javax.persistence.Entity;
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;

import org.hibernate.annotations.LazyCollection;
import org.hibernate.annotations.LazyCollectionOption;

/**
* 学院表
* @author Administrator
*
*/

@Entity
@Table(name = "academicinfo")//表名
public class AcademicInfo implements Serializable{

/**
*
*/
private static final long serialVersionUID = 1L;
private int id;
//学院名称
private String academicName;
//主表id 外键
private CollegeInfo collegeId;
//学院缩写
private String academicId;
//从表
@JoinColumn
private Set<GradeInfo> gradeInfos;

public AcademicInfo(){
collegeId=new CollegeInfo();
gradeInfos=new HashSet<GradeInfo>();
}

//自增主键
@Id
@GeneratedValue
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getAcademicName() {
return academicName;
}
public void setAcademicName(String academicName) {
this.academicName = academicName;
}

public String getAcademicId() {
return academicId;
}

public void setAcademicId(String academicId) {
this.academicId = academicId;
}
//多对一 多个学院对一个学校
@ManyToOne
@JoinColumn(name="collegeId" )

public CollegeInfo getCollegeId() {
return collegeId;
}
public void setCollegeId(CollegeInfo collegeId) {
this.collegeId = collegeId;
}

//一对多 一个学院对应多个班级
@OneToMany(mappedBy="academicId")
@LazyCollection(LazyCollectionOption.EXTRA)
public Set<GradeInfo> getGradeInfos() {
return gradeInfos;
}

public void setGradeInfos(Set<GradeInfo> gradeInfos) {
this.gradeInfos = gradeInfos;
}

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