diff --git a/jOOQ/src/main/java/org/jooq/impl/DefaultRecordMapper.java b/jOOQ/src/main/java/org/jooq/impl/DefaultRecordMapper.java index e84cca3dc9..7c71eb5ac1 100644 --- a/jOOQ/src/main/java/org/jooq/impl/DefaultRecordMapper.java +++ b/jOOQ/src/main/java/org/jooq/impl/DefaultRecordMapper.java @@ -94,7 +94,11 @@ import jakarta.persistence.Column; import org.jooq.Attachable; import org.jooq.Configuration; +import org.jooq.Converter; +import org.jooq.ConverterProvider; import org.jooq.Field; +import org.jooq.JSON; +import org.jooq.JSONB; import org.jooq.Record; import org.jooq.Record1; import org.jooq.RecordMapper; @@ -104,6 +108,7 @@ import org.jooq.Result; import org.jooq.Table; import org.jooq.TableField; import org.jooq.TableRecord; +import org.jooq.XML; import org.jooq.conf.Settings; import org.jooq.exception.MappingException; import org.jooq.tools.StringUtils; @@ -125,26 +130,13 @@ import org.jooq.tools.reflect.ReflectException; * specific arrays fails, a {@link MappingException} is thrown, wrapping * conversion exceptions. *
- *
<E> is a field "value type" and
- * <R extends Record1<?>>, i.e. it has exactly one
- * column:- * Any Java type available from {@link SQLDataType} qualifies as a well-known - * "value type" that can be converted from a single-field {@link Record1}. The - * following rules apply: - *
- *
<E> is a reference type like {@link String},
- * {@link Integer}, {@link Long}, {@link Timestamp}, etc., then converting from
- * <R> to <E> is mere convenience for
- * calling {@link Record#getValue(int, Class)} with
- * fieldIndex = 0<E> is a primitive type, the mapping result will be
- * the corresponding wrapper type. null will map to the primitive
- * type's initialisation value, e.g. 0 for int,
- * 0.0 for double, false for
- * boolean.*
<E> is a {@link TableRecord} type (e.g. from a
* generated record), then its meta data are used:+ *
<E> is a field "value type" and
+ * <R extends Record1<T1>>, i.e. it has exactly one
+ * column:
+ * The configured {@link ConverterProvider} is used to look up a
+ * {@link Converter} between T1 and E. By default, the
+ * {@link DefaultConverterProvider} is used, which can (among other things):
+ *
E.
+ * *
<E>, only those are
* used:- *
- * Abstract types are instantiated using Java reflection {@link Proxy} - * mechanisms. The returned proxy will wrap a {@link HashMap} containing - * properties mapped by getters and setters of the supplied type. Methods (even - * JPA-annotated ones) other than standard POJO getters and setters are not - * supported. Details can be seen in {@link Reflect#as(Class)}. - *
*
*