JoinColumn
1.JoinColumn注解不管在one方还是many方, 都是指定many方的外键, (或者说是主控方的外键)该外键名是db中的原始字段名
对比1和8
该注解一般是放在外键这个字段上
2. 只有OneToOne,OneToMany,ManyToMany上才有mappedBy属性,ManyToOne不存在该属性
3. @OneToMany(mapped=“由One的一方指向Many的一方,并且,这个属性应该等于Many的一方中含有One类的属性的对象名,否则会出错”)
4. mappedBy跟JoinColumn/JoinTable总是处于互斥的一方
5. mappedby只有在双向关联关系中使用, 用于表征主控权的归属方, 一般在多对一关系中, 由多方维系主控权(区别主控权和级联操作), 指mappedby属性设置值是: 向另外一个类中定义的一个属性,这个属性的类型是当前这个类
6. mappedBy属性不能避免生成一张中间表, 他是用来减少不必要的update操作产生
7. JoinColumn 是用来避免生成中间表的
8. @JoinColumn(name = "auditedStaffId", referencedColumnName = "staffId")
referencedColumnName 指的是以目标类的何种属性作为外键,不设置的话默认是目标类的主键(目标类可能是当前类,也可能是指向类)