我有一个单向关联
@OneToMany(cascade = CascadeType.ALL, orphanRemoval = true)
@JoinColumn(name = "candidate_id", nullable=false)
private List<Achievement> achievements= new ArrayList<Achievement>();
我想禁用获取功能,这样我可以在需要时获取 我不希望该分校为每个电话返回成就
答案 0 :(得分:0)
如果在提取对象时我理解正确,那么您是否也希望从数据库中提取成就?如果是这种情况,则应使用此代码:
@OneToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL, orphanRemoval = true)
@JoinColumn(name = "candidate_id", nullable=false)
private List<Achievement> achievements= new ArrayList<Achievement>();
惰性获取类型不会获取您的一对多关系,因此在这种情况下,如果您获取具有成就的对象,则不会从数据库获取成就。
答案 1 :(得分:0)
我通过创建一个新的DTO层AchievementsDto
来解决该问题,该层映射了所请求的必要数据并将其作为响应发送。
答案 2 :(得分:-1)
您需要使用"com.fasterxml.jackson.annotation.JsonIgnoreProperties;"
@OneToMany(cascade = CascadeType.ALL, orphanRemoval = true)
@JoinColumn(name = "candidate_id", nullable=false)
@JsonIgnoreProperties("achievements")
private List<Achievement> achievements= new ArrayList<Achievement>();