spring data jpa 配置使用注解配置
- @JoinColumn 定义外键关联的字段名称
- name:目标表的字段名
- referencedColumnName:本实体的字段名,非必填,默认为本表的id
- unque:外键是否唯一,false
- nullable:外键字段是否为空 true
- insertable:是否跟随一起新增 true
- updateable:是否跟随一起更新 true
- @OneToOne
- targetEntity:关联目标实体,非必填,默认改字段的类型
- cascade:级联操作
- cascadeType.PERSIST:级联新建
- CascadeType.REMOVE:级联删除
- CasCadeType.REFRESH:级联刷新
- CasecadeType.MERGE:级联更新
- CasCadeType.ALL;四项全选
- 默认,关系表不会产生任何影响
- fetche:数据获取方式
- EAGER:立即加载
- LAZE:懒加载
- optional:是否允许为空
- mappedBy:关联关系被谁维护,非必填,一般不需要特别的制定
- 只有关系维护方才能操作两者之间的关系,被维护方即使设置了维护方属性进行存储也不会更新外键关联。
- mappedby不能用@JoinColumn或者@JoinTable同时使用。
- mappdBy的值是指另一方的实体里边属性的字段,而不是数据库字段,也不是实体对象的名字。即另一方配置了@JoinColumn或者@JoinTable注解的属性的字段名称
- orphanRemoval:是否级联删除,和[email protected]的效果一样,只要配置了两种的的一种,就会自动级联删除。
- 注:@OneToOne需要配置@JoinColumn一起使用,可以双向关联。
- @OneToMany和@ManyToOne与@OneToOne的属性差不多,两者合起来就是后者,需要配置@JoinColumn一起使用
- @OrderBy关联查询时排序,只有vlaue属性
- @JoinTable关联关系表,如果对象与对象之间有一个关联关系表的时候,就会用到@JoinTable,一般与@ManyToMany一起使用
- name:中间关联关系表名
- catalog:表的catalog
- schema:表的schema
- JoinColumn:主链接表的字段(值为数据)
- JoinColumn:被联机的表外键字段(值为数组)