@OneToOne 单向一对一模型
@OneToOne 一对一 @JoinColumn用来指定生成的外键名字 例如:@JoinColumn(name="user_Id")
@OneToOne注释指明实体A 与实体B 为一对一关系,@OneToOne注释六个属性:targetEntity、cascade、fetch、optional、orphanRemoval和mappedBy。
fetch属性默认值是FetchType.EAGER,optional = true设置B属性可以为null,也就是允讦没有B的属性。
1. targetEntity属性: Class类型的属性。
定义关系类的类型,默认是该成员属性对应的类类型,所以
通常不需要提供定义。
2. cascade属性 :CascadeType[]类型。该属性定义类和类
之间的级联关系。定义的级联关系将被容器视为对当前类对
象及其关联类对象采取相同的操作,而且这种关系是递归调
用的,cascade的值只能从
1.CascadeType.PERSIST(级联新建)
2.CascadeType.REMOVE(级联删除)
3.CascadeType.REFRESH(级联刷新)
4.CascadeType.MERGE(级联更新)
中选择一个或多个;还有一个选择是使CascadeType.ALL,
表示选择全部四项。
3. fetch属性:FetchType类型的属性。可选择项包括:
FetchType.EAGER和FetchType.LAZY,
FetchType.EAGER表示关系类(B)在主类加载的时候同时加
载,FetchType.LAZY表示关系类在被访问时才加载。默认
值是FetchType.LAZY。
4. mappedBy 表示关联实体的字段
5. optional 表示改关联是否必须关联
6. orphanRemoval 是否删除操作适用于已经从这种关系中删除实体和级联删除操作这些实体。
@OrderBy(value = "id ASC")注释指明加载元组时按id的升序排序(降序 "DESC")
@OneToMany 单向一对多模型
其他博客链接