вызов сохраненных данных микронавта

Из-за устаревших причин у нас есть много кода, находящегося в хранимых процедурах. Подобно данным Spring (@Procedure), есть ли в micronaut способ вызывать хранимые процедуры. Нужно ли мне вводить entityManager и использовать CreateNamedStoredProcedureQuery ().

    List<String> results = entityManager.createNamedStoredProcedureQuery("procedureA")
                .setParameter(0 , param1)
                .setParameter(0 , param2)
                 ....
                .setParameter(20 , param20)
                .getResultList();

person Ashish Garg    schedule 09.03.2020    source источник


Ответы (1)


Ниже код работал у меня в micronaut для вызова StoredProcedure -

@Inject
private EntityManager em;

@Transactional
@Override
public int callSP(int num) {
    StoredProcedureQuery query = em.createStoredProcedureQuery("storelist.testSP1")
                                    .registerStoredProcedureParameter("InputInt", Integer.class, ParameterMode.IN)
                                    .registerStoredProcedureParameter("OutputInt", Integer.class, ParameterMode.OUT)
                                    .setParameter("InputInt", num);
    query.execute();
    Integer result = (Integer) query.getOutputParameterValue("OutputInt");
    
    return result;
}
person V.Vidyasagar    schedule 10.03.2021