spring data rest OneToOne

例如user表的sex字段对应sex表的code,为了查出sex的value

spring data rest OneToOne

1.表间关系绑定设置
在CloudUserEntity.java加

@Setter
private SexEntity userSex;
spring data rest OneToOne
红框代码是重点,是插入时从表和主表绑定关系的代码

SexEntity.java
@Setter
private CloudUserEntity userEntity;
spring data rest OneToOne

2.加上sex的dao

spring data rest OneToOne

3.配置转换

在SpringDataRestCustomization配置中加入code转换为value的配置
spring data rest OneToOne

4.操作

查询 GET http://localhost:8080/user/8a80cb816f830a61016f83286d070001
直接通过id查user信息,user的信息会根据设置好的关联字段找到对应的表,再根据配置由code转换为value
spring data rest OneToOne

新增 POST http://localhost:8080/sex
body里面的数据的子对象用json字符串来传
spring data rest OneToOne

修改 PUT http://localhost:8080/sex/8a80cb816fb14772016fb1479a1a0000
下面这样传参会修改数据库表sex 中的value 的值,还会在user表中新增一条name为新用户的记录
spring data rest OneToOne

下面这样加了id 的传参会修改数据库表sex 中的value 的值,同时在user表中修改对应id的name
spring data rest OneToOne

删除 DELETE http://localhost:8080/sex/8a80cb816fb181e7016fb182f55c0000
可以直接通过主表的id进行删除,需注意的是,看业务是否需要级联删除

CascadeType.REMOVE 这个属性控制是否级联
spring data rest OneToOne

逻辑删除
spring data rest OneToOne

注意这里面的表是实体类的名字,字段是实体类的字段