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的方法