@JsonIgnore 在 Spring Boot 3.1.4 中无效了吗?

2023-10-13 14:21:39 +08:00
 coolair

使用了 JPA 、Lombok 代码如下:

@Data
@Entity
public class User {
    private List<Role> roles;
}

@Data
@Entity
public class Role {
    @JsonIgnore
    @ManyToMany(mappedBy = "roles")
    List<User> users;
}

同样的代码在 Spring Boot 2.7.16 中没问题,在 Spring Boot 3.1.4 中就不行了,是哪里没写对吗?

453 次点击
所在节点    问与答
2 条回复
coolair
2023-10-13 14:51:54 +08:00
上面代码不完整。

```
@Data
@Entity
public class User {
@ManyToMany(fetch = FetchType.EAGER)
@JoinTable(
name = "user_role",
joinColumns = @JoinColumn(name = "user_id"),
inverseJoinColumns = @JoinColumn(name = "role_id")
)
private List<Role> roles;
}

@Data
@Entity
public class Role {
@JsonIgnore
@ManyToMany(mappedBy = "roles")
List<User> users;
}
```

刚在 Spring Boot 2.7.16 测了,也不行。貌似只能用 `@Transient` 了?
Jwyt
2023-10-13 15:50:36 +08:00
这不是 jackson 的注解么

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/981693

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX