Выполните хранимые процедуры с несколькими параметрами и сопоставьте ResultSet с классом не-сущности, используя данные весны jpa - PullRequest
0 голосов
/ 06 июля 2019

Мы недавно перешли на данные JPA Spring (с использованием Spring-boot 2.1.5-RELEASE) и нуждаемся в выполнении хранимых процедур с несколькими входными параметрами и сопоставлении с POJO, не относящимся к сущности (я буду устанавливать значение для сущности класс при сохранении объектов). Может ли кто-нибудь предоставить пример / описание того, как этого можно достичь? Я не получил много из документации или, может быть, я пропустил.

Любая помощь будет оценена.

1 Ответ

1 голос
/ 07 июля 2019

Самое прямое и простое решение для пользователя SimpleJDBCCall и забудьте о JPA для этого ресурса данных.В документации подробно рассматриваются параметры.

Примерно так будет работать:

public class MyDao implements SomeDao {

    private JdbcTemplate jdbcTemplate;
    private SimpleJdbcCall procReadStuff;

    public void setDataSource(DataSource dataSource) {
        this.jdbcTemplate = new JdbcTemplate(dataSource);
        this.procReadStuff = new SimpleJdbcCall(dataSource)
                .withProcedureName("my_procedure");
    }

    public void readStuff(Long id) {
        SqlParameterSource in = new MapSqlParameterSource()
                .addValue("in_id", id);
        Map out = procReadStuff.execute(in);
        Stuff stuff = new Stuff();
        stuff.setId(id);
        stuff.setSomeString((String) out.get("out_some_string"));

        // ...do something with Stuff POJO
    }

}

Этот образец был извлечен / изменен из образца в документации: Документация

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...