diff --git a/jOOQ/src/main/java/org/jooq/impl/DefaultRecordMapper.java b/jOOQ/src/main/java/org/jooq/impl/DefaultRecordMapper.java index 4c4959d1e4..ad4b19f4d5 100644 --- a/jOOQ/src/main/java/org/jooq/impl/DefaultRecordMapper.java +++ b/jOOQ/src/main/java/org/jooq/impl/DefaultRecordMapper.java @@ -353,6 +353,10 @@ public class DefaultRecordMapper implements RecordMapper[] constructors = (Constructor[]) type.getDeclaredConstructors(); + // [#6868] Prefer public constructors + Arrays.sort(constructors, (c1, c2) -> + (c2.getModifiers() & Modifier.PUBLIC) - (c1.getModifiers() & Modifier.PUBLIC)); + // [#1837] If any java.beans.ConstructorProperties annotations are // present use those rather than matching constructors by the number of // arguments