JPA关联关系
1. 单向多对一(使用用户和订单为例) 使用注解: @ManyToOne 是属性或方法级别的注解,用于定义 源实体 与 目标实体 是多对一的关系 属性: targetEntity : 源实体 关联的 目标实体 类型,默认是该成员属性对应的类型,可以缺省 cascade :定义 源实体 和关联的 目标实体 间的级联关系。默认没有级联操作。可选值有: CascadeType.PERSIST :级联新建。若保存实体时,数据库中 没有与该实体相关联的实体 的那条记录,会在 保存实体 的同时 保存与之相关联的实体 CascadeType.REMOVE :级联删除。删除当前实体时,与它有映射关系的实体也会跟着被删除 CascadeType.REFRESH :级联刷新。在更新前重新获取数据。 使用场景:你先获取了数据,但是在保存时数据库的数据被修改了,这时候就需要重新获取一次数据(refresh),然后执行 update 操作 CascadeType.MERGE :级联更新。当当前实体的数据改变,会相应地更新关联的实体的数据 CascadeType.DETACH :级联脱管/游离操作。删除实体因为有外键无法删除时,撤销所有相关的外键关联,然后删除 @since Java Persistence 2.0 :表示从Java Persistence 2.0开始才有的这个可选值 CascadeType