2017-12-06 10 views
0

스프링 부트 응용 프로그램의 일부로 jooq를 사용하여 DO 클래스를 자동 생성합니다. 개체 에서처럼이 데이터를 db에서 가져온 후에는 잭슨 라이브러리를 사용하여 매핑하도록 변환하려고합니다. 하지만 오류가 있습니다 :org.jooq.impl.DefaultBinding 클래스에 대한 serializer가 없습니다.

com.fasterxml.jackson.databind.JsonMappingException: No serializer found for class org.jooq.impl.DefaultBinding and no properties discovered to create BeanSerializer (to avoid exception, disable SerializationFeature.FAIL_ON_EMPTY_BEANS)

이 문제에 대한 도움을 얻을 수 있습니까?

답변

0

jOOQ 버전 3.10부터는 사용자 정의 바인딩을 지정하지 않고 Jackson을 사용하여 jOOQ Record 유형을 단순히 직렬화/역 직렬화 할 수 없습니다. 또 다른 방법은 jOOQ Record을 자신의 POJO ("DO") 객체에 먼저 매핑하는 것입니다. 다음을 사용하십시오 :

Result<Record> result = ctx.select(...).from(...).fetch(); 
List<MyPojo> list = result.into(MyPojo.class); 

그리고 나서 그 목록을 쉽게 직렬화 할 수 있어야합니다.