2016-12-05 3 views
3

jOOQ 3.8.6을 사용하여 가져온 레코드의 일부 UDT로 인해 레코드에서 Pojo로 변환하려면 record mapper을 구현해야했습니다. Pojo에서 레코드를 만들 때 그 반대를 어떻게 수행하는지 궁금합니다. POJO에서 레코드로 jOOQ 매퍼

public void update(MyTable pojo){ 
    MyTableRecord record = dsl.newRecord(tables.MyTable.MY_TABLE, pojo); 
    record.store(); 
} 

나는 때문에 내가 기록에 POJO에서 사용자 정의 변환기를 등록해야 생각

Caused by: org.jooq.exception.DataTypeException: Cannot convert from MyType (class udt.pojos.MyType) to class udt.records.MyTypeRecord 

org.jooq.exception.MappingException: An error ocurred when mapping record from class tables.pojos.MyTable 

있습니다. 어떻게 알 수 있습니까?

답변

1

당신은 당신은 적어도이 두 가지 가능한 해결 방법이 jOOQ 3.8

의로 아직 구현되지 않은 RecordUnmapper feature (issue #2520), 찾고 :

  1. RecordMapper를 사용하지 마십시오을하지만, Converter 또는 데이터 형식 Binding. 사람들은 당신이 두 가지 방법으로 변환을 구현 할 수 있습니다, 그것은
  2. 수동 "매핑 해제"단계를 수행 전에 DSLContext.newRecord(Table, Object)
전화로 POJO를에,뿐만 아니라 당신의 기록에 적용됩니다뿐만 아니라