1,一对一
Student的属性sid 和Card的属性cid
@OneToOne(cascade=CascadeType.ALL)
@JoinColumn(name="sid",unique=true)
private Card card;
@OneToOne(mappedBy="cid")
private Student stu;//学生是主控方,身份证是被控方
Student的属性sid 和Card的属性cid
@OneToOne(cascade=CascadeType.ALL)
@JoinColumn(name="sid",unique=true)
private Card card;
@OneToOne(mappedBy="cid")
private Student stu;//学生是主控方,身份证是被控方
2016-04-07
2,多对一,设置EAGER,表示积极加载
Student的属性sid 和ClassRoom的属性cid
@ManyToOne(cascade={CascadeType.ALL},fetch=FetchType.EAGER)
@JoinColumn(name="cid",referencedColumnName="CID")
private ClassRoom classRoom;
Student的属性sid 和ClassRoom的属性cid
@ManyToOne(cascade={CascadeType.ALL},fetch=FetchType.EAGER)
@JoinColumn(name="cid",referencedColumnName="CID")
private ClassRoom classRoom;
2016-04-07
3,一对多,设置LAZY,懒加载
Student的属性sid 和ClassRoom的属性cid
@OneToMany(cascade={CascadeType.ALL},fetch=FetchType.LAZY)
@JoinColumn(name="cid")
private Set<Student> stus;
Student的属性sid 和ClassRoom的属性cid
@OneToMany(cascade={CascadeType.ALL},fetch=FetchType.LAZY)
@JoinColumn(name="cid")
private Set<Student> stus;
2016-04-07
4,多对多
Student的属性sid 和Teacher的属性tid
@ManyToMany
@JoinTable(
name="teacher_student",
joinColumns={@JoinColumn(name="sid")},
inverseJoinColumns={@JoinColumn(name="tid")})
private Set<Teacher> teacher;
@ManyToMany(mappedBy="teacher")
private Set<Student> stus;//学生是主控方。教师是被控方
Student的属性sid 和Teacher的属性tid
@ManyToMany
@JoinTable(
name="teacher_student",
joinColumns={@JoinColumn(name="sid")},
inverseJoinColumns={@JoinColumn(name="tid")})
private Set<Teacher> teacher;
@ManyToMany(mappedBy="teacher")
private Set<Student> stus;//学生是主控方。教师是被控方
2016-04-07
Could not determine type for: many2one_fk.ClassRoom, at table: t_students, for columns: [org.hibernate.mapping.Column(classRoom)]
报错了,找不出来,泪
报错了,找不出来,泪
2016-04-04
讲属性级别的@Embeddable注解的时候,没有在引用属性中标注@Embedded注解也是可以的,所以为什么还要用一下@Embedded注解呢。
2016-04-04