如何从json响应中忽略HibernateProxy字段

时间:2019-05-12 00:35:15

标签: java spring-boot jackson spring-data-jpa spring-rest

我正在使用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>

0 个答案:

没有答案