如果我有这样的课程:
@Entity
@Table(name = "game")
public class Game {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "player_id")
@JsonView(AdminView.View.class)
private Player player;
//other fields
}
在客户端将JSON序列化回客户端之前,如何强制Spring和Jackson提取所有用@ManyToOne(fetch = FetchType.LAZY)
和@JsonView(AdminView.View.class)
注释的字段(并且仅注释这些字段)。 @GetMapping
控制器还标有@JsonView(AdminView.View.class)
注释?
我不想使用Hibernate5Module.Feature.FORCE_LAZY_LOADING
,因为这将强制在每个请求上加载每个惰性字段,即使它不属于相应的@JsonView
也是如此。我可以使这种强制加载更加智能,仅强制使用匹配的@JsonView
进行注释的加载字段吗?