spring data rest OneToMany && ManyToOne

1.设置表间的关联关系

CloudClassEntity.java
在这里插入图片描述

CloudUserEntity.java

在这里插入图片描述
红框是插入数据时需要的重点代码,做关系的相互绑定

2.两个表的dao

检查两个表的dao是否存在,不存在则需要新建

@RepositoryRestResource(collectionResourceRel = “class”, path = “class”)
public interface CloudClassDao extends BaseDao {

CloudClassEntity findByName(@Param("name") String name);

}

@RepositoryRestResource(collectionResourceRel = “user”, path = “user”)
public interface CloudUserDao extends BaseDao {

List<CloudUserEntity> findByName(@Param("name") String name);

List<CloudUserEntity> findByNameAndSex(@Param("name") String name,@Param("sex") String sex);

}

3.新增从表的LookUp

在这里插入图片描述

4.添加转换设置

在SpringDataRestCustomization.configureRepositoryRestConfiguration的方法里加对应配置
在这里插入图片描述

forLookupRepository是规定了要通过哪个dao做查询

withIdMapping规定要返回的字段是哪个

withLookup规定通过哪个字段来查询

5.操作

查询 GET http://localhost:8080/user/8a80cb816f84da19016f84dad6a00000
可以直接通过单表id查询,能返回出对应的关联表的name,
在这里插入图片描述

新增POST http://localhost:8080/class
在这里插入图片描述

多级插入
当子对象中还有子对象时,只要里面还有绑定关系,那么可以做到多级插入,例如下面这样传参
在这里插入图片描述

后台会生成对应所有关联表的插入
在这里插入图片描述

删除DELETE http://localhost:8080/class/8a80cb816fbb9164016fbb942d980005
根据主表id直接删除,如果设置了删除级联,那么也会把这条级联所关联的所有表的记录给删除
在这里插入图片描述

逻辑删除,重写deletById的方法
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值