BeanPropertyRowMapper, когда сопоставление для поля недоступно - PullRequest
0 голосов
/ 22 апреля 2020

У меня есть класс репозитория, который вызывает jdbcTemplate query() и использует BeanPropertyRowMapper(..)

@Override
public List<Model> query(final Model model) {
    return this.jdbcTemplate.query(
            this.QUERY.replace("${WHERE}", this.queryBuilder.build(model)),
            new PostGrePropertyMapper(model)
                    .addProperty("test", new TestMapper().apply(model.getTest())),
            new BeanPropertyRowMapper<>(Model.class));
}

Скажем, у меня есть эта модель (в ней много полей, но для демонстрации сокращено до 3):

public class Model {
    private String test;
    private String id;
    private String reference;
}

и запрос возвращает мне два столбца: test & id в ResultSet. Есть ли способ, которым я могу установить значение поля reference равным id, которое возвращается из базы данных? id и reference должны быть установлены в поле id, поступающем из БД.

Где я могу установить это значение для reference без необходимости написания пользовательского сопоставления строк и установки каждого и каждого поле с rs.getString(...) звонками.

Есть ли короткая техника для такого сценария?

...