/** * Convenience method for {@code getConfig(MapEntryMappers.class).setValueColumn(valueColumn)} * * @param valueColumn the value column name * @return this */ default This setMapValueColumn(String valueColumn) { return configure(MapEntryMappers.class, c -> c.setValueColumn(valueColumn)); }
@Override public void configureForMethod(ConfigRegistry registry, Annotation annotation, Class<?> sqlObjectType, Method method) { ValueColumn valueColumn = (ValueColumn) annotation; String name = valueColumn.value(); registry.get(MapEntryMappers.class).setValueColumn(name.isEmpty() ? null : name); } }
@Test public void testSingleInstanceAssignmentWithSelectedKeyValueShouldSucceed() { Handle handle = dbRule.getSharedHandle().configure(MapEntryMappers.class, c -> c.setKeyColumn("key_c").setValueColumn("val_c")); Optional<Tuple2<String, String>> valueMap = handle.createQuery("select val_c, key_c from keyval") .mapTo(new GenericType<Tuple2<String, String>>() {}) .findFirst(); assertThat(valueMap).isNotEmpty(); assertThat(valueMap.get()).isEqualTo(Tuple.of(KEY_PREFIX + 0, VAL_PREFIX + 1)); }