hibernate中基于annotation(注解)的one2Many双向

2019-03-28 22:03|来源: 领悟书生

hibernate中one2Many双向中用学生和班级的关系了解了一对多的双向关联映射,现在用注解的方式看看是怎样实现的。


修改班级的实体Classroom.java

package org.zttc.itat.model;
 
import java.util.Set;
 
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Table;
 
import org.hibernate.annotations.LazyCollection;
import org.hibernate.annotations.LazyCollectionOption;
 
@Entity
@Table(name="t_classroom")
public class Classroom {
    private int id;
    private String name;
    private int grade;
    private Set<Student> stus;
     
    @OneToMany(mappedBy="classroom")
    @LazyCollection(LazyCollectionOption.EXTRA)
    public Set<Student> getStus() {
        return stus;
    }
    public void setStus(Set<Student> stus) {
        this.stus = stus;
    }
    @Id
    @GeneratedValue
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getGrade() {
        return grade;
    }
    public void setGrade(int grade) {
        this.grade = grade;
    }
     
     
}

修改学生实体Student.java

package org.zttc.itat.model;
 
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
 
@Entity
@Table(name="t_student")
public class Student {
    private int id;
    private String name;
    private String no;
    private Classroom classroom;
     
    @Id
    @GeneratedValue
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getNo() {
        return no;
    }
    public void setNo(String no) {
        this.no = no;
    }
     
    @ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="cid")
    public Classroom getClassroom() {
        return classroom;
    }
    public void setClassroom(Classroom classroom) {
        this.classroom = classroom;
    }
}

测试代码请参考hibernate中one2Many双向


本文链接:hibernate中基于annotation(注解)的one2Many双向,领悟书生原创(笔记),转载请注明出处http://www.656463.com/article/404

相关问答

更多