hibernate--annotation的使用

来源:互联网 发布:mac自带放大镜快捷键 编辑:程序博客网 时间:2024/04/30 05:11

1 首先要把mapping标签的resource=换成class=

2注意很多类 都是从javax.persistence中来的 要注意

student.java

@Entity@Table(name="t_stu")//@Cache(usage=CacheConcurrencyStrategy.READ_ONLY)//开启二级缓存 缓存对象//对该对象加锁是为了修改安全 这种经常修改的肯定不能放到二级缓存中public class Student{    private int id;    private String name;    private String sex;    private Classroom classroom;    private int version;        @Version//加乐观锁    public int getVersion()    {        return version;    }    public void setVersion(int version)    {        this.version = version;    }    public Student()    {    }    @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 getSex()    {        return sex;    }    public void setSex(String sex)    {        this.sex = sex;    }    //fetch=FetchType.LAZY就是XML中的select fetch=FetchType.EAGER就是XML中的join    @ManyToOne(fetch=FetchType.LAZY)    @JoinColumn(name="cid")    public Classroom getClassroom()    {        return classroom;    }    public void setClassroom(Classroom classroom)    {        this.classroom = classroom;    }    }

Classroom.java

@Entity@Table(name="t_cla")@BatchSize(size=2)public class Classroom{    private int id;    private String name;    private int grade;    private Set<Student> students;    private Special special;                public Classroom()    {    }    @ManyToOne    @JoinColumn(name="spec_id")    public Special getSpecial()    {        return special;    }    public void setSpecial(Special special)    {        this.special = special;    }    @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;    }    @OneToMany(mappedBy="classroom")    @LazyCollection(LazyCollectionOption.EXTRA)    @Fetch(FetchMode.SUBSELECT)//此处等于xml中在一端set中配置fetch="sub-select"    public Set<Student> getStudents()    {        return students;    }    public void setStudents(Set<Student> students)    {        this.students = students;    }    }
Specail.java

@Entity@Table(name="t_spec")public class Special{    private int id;    private String name;    private String type;    private Set<Classroom> clas;        public Special()    {    }   @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 getType()    {        return type;    }    public void setType(String type)    {        this.type = type;    }    @OneToMany(mappedBy="special")    @LazyCollection(LazyCollectionOption.EXTRA)    public Set<Classroom> getClas()    {        return clas;    }    public void setClas(Set<Classroom> clas)    {        this.clas = clas;    }}



0 0
原创粉丝点击