Как определить хранимую процедуру вне репозитория JPA - PullRequest
0 голосов
/ 28 июня 2018

У меня есть некоторые хранимые процедуры, которые выбирают данные из нескольких объектов, так где я должен их определять, поскольку они не получают данные из одного репозитория? я определил специфичные для хранимых процедур, которые строго получают данные из одной таблицы в этих классах сущностей, таких как

   @Entity
   @Table(name = "accounts", schema = "ma_db")
   @NamedStoredProcedureQueries({
            @NamedStoredProcedureQuery(name="getAccountsList", procedureName = "GET_ACCOUNT", parameters = {
                    @StoredProcedureParameter(mode = ParameterMode.IN, name = "UserId", type = String.class)
            } )

1 Ответ

0 голосов
/ 28 июня 2018

Невозможно сказать без дополнительной информации о вашем приложении и соответствующем SP. Но вот некоторые рекомендации:

Подумайте о том, что делает SP. Какова основная концепция домена, о которой идет речь?

Это не обязательно должен быть объект, может быть, вам не нужен такой объект в вашем Java-коде, может быть, он вам нужен и еще не реализован.

Один типичный пример, где я видел эту ситуацию, - это отчеты или экспорт. Это также доменные объекты, хотя они часто не соответствуют сущности JPA.

Если на самом деле нет подходящей сущности, с которой можно связать SP, возможно, правильнее всего сделать, просто создать простой класс, который выполняет SP, используя JdbcTemplate.

...