Как запустить (вставить) хранимую процедуру без класса сущности? - PullRequest
1 голос
/ 17 февраля 2020

Я пишу код для своего приложения Spring Boot и пытаюсь включить хранимую процедуру. Тем не менее, я пытаюсь найти способ запустить хранимую процедуру вставки без необходимости класса сущности. Я пробовал несколько способов раньше, но я продолжаю получать ошибки вроде java.lang.IllegalArgumentException: No @NamedStoredProcedureQuery was found with that name : InsertGPIP, но я знаю, что это потому, что с ним не связано ни одного объекта.

Java:

    public void insertToGPIP(){

            StoredProcedureQuery query = entityManager.createNamedStoredProcedureQuery("InsertGPIP")
            .registerStoredProcedureParameter("appcode", String.class, ParameterMode.IN)
            .registerStoredProcedureParameter("guid", String.class, ParameterMode.IN)
            .registerStoredProcedureParameter("name", String.class, ParameterMode.IN)
            .registerStoredProcedureParameter("statuscode", String.class, ParameterMode.IN)
            .registerStoredProcedureParameter("assist", String.class, ParameterMode.IN)
            .registerStoredProcedureParameter("adid", String.class, ParameterMode.IN)
            .setParameter("appcode", "Rob")
            .setParameter("guid", "F38FJ47")
            .setParameter("name", "A Test")
            .setParameter("statuscode", "02")
            .setParameter("assist", "N")
            .setParameter("adid", "MyId");
            query.execute();

        }

1 Ответ

1 голос
/ 17 февраля 2020

Из javado NamedStoreProcedureQuery c (жирный шрифт):

Аннотация NamedStoredProcedureQuery может быть применена к сущности или сопоставленному суперклассу .

Для сопоставленного суперкласса не определена таблица для него, он предоставляет только информацию отображения, которая должна быть унаследована объектами, расширяющими его.

Таким образом, вы можете иметь пустой абстрактный отображенный суперкласс (@MappedSuperclass) в качестве контейнера для NamedStoredProcedureQuery аннотации.

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