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;
}
}
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;
}
}