我正在使用spring boot和spring data jpa构建rest Web服务,所以我正在使用get方法创建一个rest控制器:
@GetMapping("/typeQuestionnaire/{id}")
@ApiOperation(notes = "Return a link to retrive a questionnaire type by id",value = "Get type of questionnaire by id")
public ResponseEntity<TypeQuestionnaire> getQuestionnaireType (@PathVariable long id){
TypeQuestionnaire typeQst = typeQuestionnaireRepository.getOne(id);
return ResponseEntity.ok(typeQst);
}
这是我的实体:
@Data
@Entity
@Table(name="TypeQuestionnaire")
@ApiModel(description = "All detail about the questionnaire")
@JsonIgnoreProperties({"hibernateLazyInitializer", "handler"})
public class TypeQuestionnaire {
@Id
@GeneratedValue(strategy=GenerationType.SEQUENCE,generator="codeTypeQstSeq")
@SequenceGenerator(name="codeTypeQstSeq",sequenceName="code_type_qts_id",allocationSize=1)
private Long codeTypeQuestionnaire ;
private String designation ;
@OneToMany(cascade=CascadeType.ALL,fetch=FetchType.LAZY,mappedBy="typeQuestionnaire")
@JsonIgnore
private Set<Questionnaire> Questionnaires ;
}
我的问题是,当我调用我的api时,响应中出现了HibernateProxy,而@JsonIgnore对我不起作用:
<TypeQuestionnaire.HibernateProxy.SVE5tgD0>
<codeTypeQuestionnaire>1</codeTypeQuestionnaire>
<designation>test</designation>
<questionnaires/>
</TypeQuestionnaire.HibernateProxy.SVE5tgD0>