2016-12-05 11 views
3

jOOQ 3.8.6を使用して、フェッチされたレコードのUDTのためにレコードからポホに変換するには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

あなたは、少なくともこれらの2つの回避策持ってjOOQ 3.8

のようまだ実装されていないRecordUnmapper feature (issue #2520)、探している:

  1. RecordMapperを使用しないでくださいを、しかし、代わりにConverterまたはデータ型Bindingが必要です。それらは次の2つの方法で変換を実装することができます、そしてそれは
  2. マニュアル「アンマップ」のステップを実行し、前DSLContext.newRecord(Table, Object)
を呼び出すには、あなたのPOJOに、また、あなたの記録への適用だけでなく、
関連する問題